إذا كنت تقوم بإنشاء محتوى في Markdown أو استخدمت CMS مثل NetLifyCMS التي تخرج ملفات Markdown ، يمكن لـ JDown تحويل المحتوى إلى JSON الذي يحتوي على HTML في وقت الإنشاء ، جاهزًا للاستهلاك داخل القوالب.
$ npm install jdown --save-dev
const jdown = require ( 'jdown' ) ;
jdown ( 'path/to/content' ) . then ( content => console . log ( content ) ) ;
اتصل بـ Jdown مع المسار إلى محتوى Markdown (نسبة إلى جذر المشروع) وسيقوم بتحويل المحتوى الخاص بك إلى JSON.
يعتمد هيكل JSON الذي يخرج Jdown على كيفية تنظيم الملفات داخل مجلد المحتوى.
سيتم تحويلها إلى كائن ، سوف تحتوي كائنات الملف دائمًا على contents
وخاصية fileInfo
...
سيتم تحويلها إلى كائنات فردية ثم تم تجميعها داخل كائن الأصل الذي له نفس اسم المجلد الأصل (لا تذهب أكثر من مستوى عميق).
لإنشاء صفائف من كائنات الملف ، يمكن إنشاء مجلد اسم "مجموعات". يجب أن يحتوي مجلد المجموعات على مجلدات فرعية فقط ، ثم سيتم إضافة كل ملف داخل مجلد فرعي إلى مجموعة من الكائنات.
يمكن تضمين Yaml Frontmatter في الجزء العلوي من أي ملفات طوال الوقت وسيتم إضافتها إلى JSON التي تم إنشاؤها كخصائص فردية.
---
title : Example frontmatter
---
Example Markdown Content
اكتب: string
مطلوب
المسار إلى مجلد يحتوي على ملفات مميزة بهيكل مجلد يطابق الإرشادات أعلاه. يجب أن يكون المسار مناسبًا لجذر المشروع ، لذا إذا كان المحتوى الخاص بك في /Users/username/project/src/content
، فستستخدم jdown('src/content')
.
النوع: object
النوع: object
خيارات للتمرير إلى علامة ، تدعم JDON جميع الخيارات المتاحة المتاحة والتي يمكن استخدامها للتحكم في كيفية تحليل تخفيض العدوى.
النوع: object
خيارات تحليل الأصول. يعد استخدام Jdown إلى تحليل الأصول اختياريًا تمامًا ، ولكنه يأتي مع بعض الفوائد بما في ذلك:
يجب وضع جميع الأصول الثابتة داخل /assets
. يمكن وضع مجلدات الأصول في دليل محتوى المستوى الأعلى و/أو الدلائل الفرعية. داخل أصول محتوى Markdown يمكن الرجوع إليها باستخدام ![](./assets/my-asset.png)
حيث my-asset.png
هو أحد الأصول الموضوعة داخل مجلد AN /assets
.
يمكن أن يحتوي كائن خيارات الأصول على الخصائص التالية:
ملكية | يكتب | تقصير | وصف |
---|---|---|---|
الإخراج | خيط | ./عام | سوف يخرج الدليل الأصول المصنعة إلى |
طريق | خيط | / | سيسدد الوصول إلى المسار الذي يمكن الوصول إليه علنًا إلى إخراج أسماء الملفات |
PNG | هدف | غير محدد | خيارات الانتقال إلى ImageMin-pngquant |
JPG | هدف | غير محدد | خيارات الانتقال إلى ImageMin-Jpegtran |
SVG | هدف | غير محدد | خيارات للانتقال إلى ImageMin-Svgo |
GIF | هدف | غير محدد | خيارات للانتقال إلى ImageMin-Svgo |
النوع: boolean
الافتراضي: true
اضبط هذا على false
لتعطيل التحليل المقلوب واستلام JSON المهيكلة التي تحتوي على تخفيضات بدلاً من HTML.
النوع: boolean
الافتراضي: false
اضبط هذا على true
لتضمين كائنات معلومات الملف في JSON الإخراج والتي تحتوي على مسار الملفات والاسم وإنشائها في التاريخ وتعديلها في التاريخ.
يحتوي دليل المثال لهذا المستودع على استخدام Jdown بما في ذلك تحليل الأصول وخيارات العرض المخصصة.
أي طلبات سحب مرحب بها وسيتم مراجعتها.
معهد ماساتشوستس للتكنولوجيا