عن المشروع
remark هو معالج ماركداون مبني حول الإضافات، وهو جزء من مجموعة unified. بدلاً من التعامل مع ماركداون كنص عادي، فإنه يحلله إلى شجرة بناء مجردة منظمة (mdast)، والتي يمكن للإضافات فحصها وتعديلها قبل إعادة تسلسل المحتوى.
يحتوي المستودع الأحادي على عدة حزم: remark-parse (من ماركداون إلى شجرة البناء)، وremark-stringify (من شجرة البناء إلى ماركداون)، وremark (الذي يجمع unified وparse وstringify للعمل من ماركداون إلى ماركداون)، وremark-cli (واجهة سطر أوامر لفحص وتنسيق ملفات ماركداون).
الخصائص الرئيسية الموصوفة في ملف README:
- متوافق مع CommonMark افتراضيًا، مع دعم GFM أو MDX عبر الإضافات.
- المعالجة القائمة على AST تجعل الفحص البرمجي والتحويل أمرًا مباشرًا.
- نظام بيئي يضم أكثر من 150 إضافة، بما في ذلك remark-gfm (ماركداون بنكهة جيت هاب)، وremark-lint (فحص الأسلوب)، وremark-toc (إنشاء جدول المحتويات)، وremark-rehype (من ماركداون إلى HTML).
- قابل للاستخدام على الخوادم والعملاء وواجهات سطر الأوامر وDeno.
تشمل الاستخدامات النموذجية تحويل ماركداون إلى HTML (غالبًا بالاشتراك مع نظام rehype وrehype-sanitize)، وتمكين امتدادات الصياغة مثل GFM وYAML frontmatter، وفحص ماركداون لضمان الاتساق، وتنسيق ملفات ماركداون في مشروع عبر واجهة سطر الأوامر وإدخال remarkConfig في package.json.
المشروع مكتوب بالكامل مع TypeScript، مع أنواع mdast المتاحة عبر @types/mdast. يذكر ملف README اعتبارات أمنية: نظرًا لأن ماركداون يمكن أن يصبح HTML، فإن التعامل غير السليم قد يعرض المستخدمين لهجمات البرمجة النصية عبر المواقع، لذلك يُنصح باستخدام rehype-sanitize عند إنتاج HTML؛ كما أن المدخلات الكبيرة أو الخبيثة يمكن أن تسبب مشاكل في الأداء أو انهيارًا، لذا يُنصح بتحديد حجم الإدخال والمعالجة في سلسلة أو عامل منفصل. يجب تقييم الإضافات بشكل فردي من حيث المخاطر.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.