محلل Markdown تم بشكل صحيح. سريع وسهل التوسيع.
العرض المباشر
يتبع مواصفات CommonMark + يضيف ملحقات بناء الجملة والسكر (الربط التلقائي لعنوان URL، المطبعي).
بناء الجملة شكلي! يمكنك إضافة قواعد جديدة وحتى استبدال القواعد الحالية.
سرعة عالية.
آمن بشكل افتراضي.
المكونات الإضافية المكتوبة من قبل المجتمع والحزم الأخرى على npm.
جدول المحتويات
ثَبَّتَ
أمثلة الاستخدام
بسيط
الحرف الأول مع الإعدادات المسبقة والخيارات
تحميل الإضافات
تسليط الضوء على بناء الجملة
ربط
واجهة برمجة التطبيقات
ملحقات بناء الجملة
إدارة القواعد
المعيار
تخفيض السعر للمؤسسات
المؤلفون
المراجع / شكرا
العقدة.js :
npm تثبيت تخفيض السعر-it
المتصفح (CDN):
jsDeliver CDN
cdnjs.com CDN
أنظر أيضا:
وثائق API - لمزيد من المعلومات والأمثلة.
معلومات التطوير - لكتاب الإضافات.
// العقدة.js// يمكن استخدام `require('markdown-it')` لـ CJSimport markdownit من 'markdown-it'const md = markdownit()const result = md.render('# markdown-it Rulezz!') ;// متصفح ذو بنية UMD، تمت إضافته إلى "النافذة" عند تحميل البرنامج النصي// ملاحظة، لا توجد شرطة في "markdownit".const md = window.markdownit();const result = md.render('# Markdown-it Rulezz!');
عرض سطر واحد، بدون التفاف الفقرة:
استيراد Markdownit من 'markdown-it'const md = markdownit()const result = md.renderInline('__markdown-it__ Rulezz!');
(*) تحدد الإعدادات المسبقة مجموعات من القواعد والخيارات النشطة. يمكن أن تكون "commonmark"
أو "zero"
أو "default"
(إذا تم تخطيها). راجع مستندات API لمزيد من التفاصيل.
استيراد علامة تجارية من 'markdown-it'// وضع العلامة المشتركةconst md = markdownit('commonmark')// الوضع الافتراضيconst md = markdownit()// تمكين كل شيءconst md = markdownit({ أتش تي أم أل: صحيح، ربط: صحيح، المطبعي: صحيح})// قائمة الخيارات الكاملة (الافتراضية)const md = markdownit({ // تمكين علامات HTML في المصدر أتش تي أم أل: كاذبة، // استخدم "/" لإغلاق العلامات الفردية (<br />). // هذا فقط من أجل التوافق الكامل مع CommonMark. xhtmlOut: خطأ، // تحويل 'n' في الفقرات إلى <br> فواصل: كاذبة، // بادئة لغة CSS للكتل المسيجة. يمكن أن يكون // مفيدة للهايلايتر الخارجية. langPrefix: 'اللغة-'، // تحويل نص يشبه عنوان URL تلقائيًا إلى روابط ربط: كاذبة، // تمكين بعض الاستبدالات المحايدة للغة + تجميل علامات الاقتباس // للحصول على القائمة الكاملة للبدائل، راجع https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.mjs المطبعي: كاذب، // أزواج استبدال علامات الاقتباس المزدوجة والمفردة، عند تمكين الطباعة، // والاقتباسات الذكية على. يمكن أن يكون إما سلسلة أو صفيف. // // على سبيل المثال، يمكنك استخدام "«»""" للغة الروسية، و"""‚" للألمانية، // و ['«xA0', 'xA0»', '‹xA0', 'xA0›'] للغة الفرنسية (بما في ذلك nbsp). يقتبس: '""'''، // وظيفة تمييز. يجب أن يعود HTML نجا، // أو '' إذا لم يتم تغيير السلسلة المصدر ويجب تخطيها خارجيًا. // إذا بدأت النتيجة بـ <pre... فسيتم تخطي الغلاف الداخلي. Highlight: function (/*str, lang*/) { return ''; }});
استيراد Markdownit من 'markdown-it'const md = markdownit .استخدام (البرنامج المساعد 1) .use(plugin2، opts، ...) .use(plugin3);
قم بتطبيق تمييز بناء الجملة على كتل التعليمات البرمجية المسيجة باستخدام خيار highlight
:
استيراد Markdownit من 'markdown-it'import hljs من 'highlight.js' // https://highlightjs.org// القيم الافتراضية الفعليةconst md = markdownit({ Highlight: function (str, lang) {if (lang && hljs.getLanguage(lang)) { حاول {return hljs.highlight(str, { language: lang }).value; } قبض (__) {}}return ''; // استخدم الهروب الافتراضي الخارجي }});
أو مع تجاوز المجمع الكامل (إذا كنت بحاجة إلى تعيين فئة إلى <pre>
أو <code>
):
استيراد Markdownit من 'markdown-it'import hljs من 'highlight.js' // https://highlightjs.org// القيم الافتراضية الفعليةconst md = markdownit({ تمييز: الوظيفة (str, lang) {if (lang && hljs.getLanguage(lang)) { حاول {return '<pre><code class="hljs">' + hljs.highlight(str, { language: lang,ignorIllegals : صحيح }).value + '</code></pre>'; } Catch (__) {}}return '<pre><code class="hljs">' + md.utils.escapeHtml(str) + '</code></pre>'; }});
linkify: true
linkify-it. لتكوين linkify-it، قم بالوصول إلى مثيل linkify من خلال md.linkify
:
md.linkify.set({ البريد الإلكتروني الغامض: خطأ }); // تعطيل تحويل البريد الإلكتروني إلى رابط
وثائق واجهة برمجة التطبيقات
إذا كنت ستكتب مكونات إضافية، فيرجى إلقاء نظرة على معلومات التطوير.
مضمن (ممكّن افتراضيًا):
الجداول (GFM)
يتوسطه خط (GFM)
عبر الإضافات:
منخفض
مرتفع
حاشية سفلية
قائمة التعريفات
اختصار
com.emoji
حاوية مخصصة
إدراج
علامة
... وغيرها
بشكل افتراضي، يتم تمكين جميع القواعد، ولكن يمكن تقييدها بواسطة الخيارات. عند تحميل البرنامج المساعد، يتم تمكين جميع قواعده تلقائيًا.
استيراد markdownit من 'markdown-it'// قواعد التنشيط/إلغاء التنشيط، باستخدام curryingconst md = markdownit() .تعطيل(['رابط'، 'صورة']) .تمكين(['رابط']) .enable('image');// تمكين كل شيءconst md = markdownit({ أتش تي أم أل: صحيح، ربط: صحيح، المطبعي: صحيح،})؛
يمكنك العثور على جميع القواعد في المصادر:
parser_core.mjs
parser_block.mjs
parser_inline.mjs
فيما يلي نتيجة التحليل التمهيدي في MB Pro Retina 2013 (2.4 جيجا هرتز):
يقوم npm بتشغيل المعايير-deps الملف التمهيدي المعياري/benchmark.mjs العينات المختارة: (1 من 28) > الملف التمهيدي العينة: README.md (7774 بايت) > مرجع العلامة المشتركة × 1222 عملية في الثانية ± 0.96% (عينة 97 عملية) > الحالي × 743 عملية في الثانية ±0.84% (عينة 97 عملية) > العلامة المشتركة الحالية × 1568 عملية في الثانية ±0.84% (98 عينة تشغيل) > تم وضع علامة × 1,587 عملية في الثانية ±4.31% (93 عينة)
ملحوظة. يتم تشغيل إصدار CommonMark باستخدام أدوات تسوية الارتباط المبسطة لإجراء مقارنة "صادقة" أكثر. الفرق هو ≈1.5×.
كما ترون، markdown-it
لا يدفع مقابل السرعة مقابل مرونته. تباطؤ الإصدار "الكامل" بسبب ميزات إضافية غير متوفرة في التطبيقات الأخرى.
متاح كجزء من اشتراك Tidelift.
يعمل القائمون على markdown-it
والآلاف من الحزم الأخرى مع Tidelift لتقديم الدعم التجاري والصيانة للتبعيات مفتوحة المصدر التي تستخدمها لبناء تطبيقاتك. يمكنك توفير الوقت وتقليل المخاطر وتحسين سلامة التعليمات البرمجية، مع الدفع لمشرفي التبعيات الدقيقة التي تستخدمها. يتعلم أكثر.
أليكس كوشارين جيثب/rlidwka
فيتالي بوزرين جيثب/بوزرين
تخفيض السعر - إنه نتيجة لقرار المؤلفين الذين ساهموا في 99% من كود Remarkable بالانتقال إلى مشروع بنفس التأليف ولكن بقيادة جديدة (فيتالي وأليكس). انها ليست شوكة.
شكرًا جزيلاً لجون ماكفارلين على عمله في مواصفات CommonMark والتطبيقات المرجعية. لقد وفر لنا عمله الكثير من الوقت أثناء تطوير هذا المشروع.
روابط ذات صلة:
https://github.com/jgm/CommonMark - مرجع لتطبيقات CommonMark في C وJS، ويحتوي أيضًا على أحدث المواصفات والعروض التوضيحية عبر الإنترنت.
http://talk.commonmark.org - منتدى CommonMark، مكان جيد للتعاون في جهود المطورين.
الموانئ
Motion-markdown-it - روبي/روبي موشن
تخفيض السعر-it-py- بايثون