مقارنة · تحديث 2026-05-16
محرّر Markdown في TaskKit مقابل Dillinger.io
كلتا الأداتين تتيح لك كتابة Markdown في الجهة الواحدة ورؤية HTML في الجهة الأخرى. لكنهما تختلفان بحدّة في ما يُحمَّل بجانب المحرّر، وما يعبر الشبكة عند الضغط على Export، وما تفعله الصفحة قبل أن تكتب أيّ شيء. الملخص أدناه مُقاس مقابل الحزمة المشحونة على dillinger.io ومبنيّ على وثائق Dillinger نفسها.
الملخص
- أطراف ثالثة عند أوّل عرض: Dillinger يحمّل ثلاثة (
cdn.jsdelivr.netلـ Monaco، وm.servedby-buysellads.comلـ SDK تمويل BuySellAds، وvia.placeholder.comلصورة عرض). مسار/dev/markdownفي TaskKit يحمّل صفراً. - إطار الإعلانات / الرعاية:
monetization.jsمن BuySellAds يعمل عند أوّل عرض، وطابور_bsaمُهيَّأ بفتحة إعلان واحدة فيwindow. لم نرَ Google Analytics ولا GTM ولا DoubleClick. TaskKit لا يحمّل أيّ تحليلات ولا إعلانات ولا SDK طرف ثالث. - طرقات الخلفية قبل أن تكتب: dillinger.io يُطلق
/api/github/statusو/api/dropbox/statusو/api/google-drive/statusو/api/onedrive/statusو/api/bitbucket/statusمرّتين لكل واحد عند تحميل بارد. صفحة Markdown في TaskKit ليس لها خلفية لطرقها. - تصدير PDF: وثيقة Dillinger الترحيبية تقولها بنفسها، بعبارة "PDF export Available Server-rendered". تصدير TaskKit يجري كلّياً في المتصفح (
html2canvas-pro+pdf-lib، يُستوردان ديناميكياً عند أوّل استخدام). - Mermaid: TaskKit يعرض كتل
```mermaidحيّة (flowchart, sequence, class, state, ER, journey, gitGraph, timeline, mindmap, gantt, pie). صفحة /guide في Dillinger لا تذكر Mermaid. - أين Dillinger أقوى: مزامنة سحابية مع خمسة موفّرين، رياضيات KaTeX، حواشٍ سفلية، عمق محرّر Monaco (مؤشّرات متعدّدة، تعيين مفاتيح vim/emacs)، تمرير صريح إلى نماذج LLM. TaskKit لا يشحن أيّاً منها.
الخصوصية، بالقياس
قياس بتاريخ 2026-05-16، ملف Chrome جديد، بدون امتدادات تُرشّح الطلبات. الأرقام تخصّ الصفحة الرئيسية (المحرّر نفسه) عند أوّل عرض، قبل أيّ تفاعل من المستخدم.
| الفعل | Dillinger | TaskKit |
|---|---|---|
| أطراف ثالثة عند أوّل عرض | 3 (cdn.jsdelivr.net، m.servedby-buysellads.com، via.placeholder.com) | 0 |
| SDK إعلانات / تمويل | BuySellAds (monetization.js؛ طابور _bsa مُهيَّأ بفتحة واحدة) | لا شيء |
| Google Analytics / GTM / DoubleClick | غير مكتشف عند أوّل عرض | لا شيء |
| طرقات حالة للخلفية (قبل أيّ كتابة) | 10 استدعاءات إلى /api/{github,dropbox,google-drive,onedrive,bitbucket}/status (مرّتين لكل واحد) | 0 |
| حفظ إلى GitHub / Dropbox / Drive / OneDrive / Bitbucket | OAuth عبر /api/{provider}/callback؛ المستند يمرّ عبر خلفية Dillinger | غير معروض. انسخ HTML أو صدّر PDF محلياً. |
| تصدير إلى PDF | معروض من الخادم (وثيقة Dillinger الترحيبية نفسها) | في المتصفح فقط (html2canvas-pro + pdf-lib؛ بلا رفع، بلا نافذة طباعة) |
| تصدير إلى HTML منسَّق | نفس مسار التصدير في التطبيق | زرّ نسخ HTML (إلى الحافظة) |
| إرسال مسوّدة إلى نموذج LLM | "Markdown is the native language of large language models. Write in Dillinger, then feed your content directly to ChatGPT, Claude, or any LLM." (صفحة ميزات Dillinger نفسها) | غير مدمج. نسخ الإخراج متروك لك. |
مزامنة سحابية مُدارة بـ OAuth نمط معقول لما يفعله Dillinger. التباين ليس في أنّ التصميم خاطئ، بل في أنّ الخلفية موجودة أصلاً، وهذا يعني نموذج جلسة، ومعالجة لرموز OAuth، ومسار خادم للمستند. محرّر Markdown في TaskKit لا يحتاج خلفية لأنّ لا شيء فيه يستلزمها. المزيد عن طريقة تعامل TaskKit مع بياناتك.
مصفوفة الميزات
| الإمكانية | Dillinger | TaskKit |
|---|---|---|
| عرض Markdown | ||
| أساسيات CommonMark (عناوين، قوائم، كود، روابط) | نعم | نعم |
| جداول GFM | نعم | نعم (محاذاة بنقطتين في صفّ الفاصل) |
| قوائم مهام ([ ] / [x]) | نعم | نعم (مربّعات تأشير معطّلة للعرض القابل للقراءة فقط) |
| الشطب (~~نص~~) | نعم | نعم |
| حواشٍ سفلية ([^1]) | نعم | لا |
| رياضيات KaTeX ($…$، $$…$$) | نعم | لا |
| مخطّطات Mermaid | غير مذكورة في /guide | نعم (flowchart, sequence, class, state, ER, journey, gitGraph, timeline, mindmap, gantt, pie) |
| تظليل صياغة في الكود المسيَّج | نعم | لا (كلاس اللغة محفوظ لتتمكّن من إضافة التظليل بنفسك) |
| المحرّر | ||
| سطح المحرّر | Monaco (يُحمَّل من cdn.jsdelivr.net) | CodeArea (مخصّص، خفيف، من نفس الأصل) |
| مؤشّرات متعدّدة، بحث / استبدال، إكمال تلقائي | نعم (Monaco) | لا |
| تعيين مفاتيح Vim / Emacs | نعم | لا |
| سحب وإفلات لفتح الملفات | نعم (Markdown / HTML / صورة) | لا |
| مزامنة التمرير بين المحرّر والمعاينة | نعم | أوضاع Split و Edit و Preview (بلا مزامنة مستمرة) |
| وضع ملء الشاشة / Zen | وضع Zen | ملء الشاشة |
| المشاركة والحفظ | ||
| حفظ المسوّدات | localStorage في المتصفح | localStorage في المتصفح |
| مزامنة GitHub / Dropbox / Drive / OneDrive / Bitbucket | نعم (OAuth) | لا |
| حساب / تسجيل دخول | مطلوب للمزامنة السحابية | لا شيء (بلا خلفية) |
| نسخ HTML المعروض | تصدير إلى ملف HTML منسَّق | زرّ نسخ HTML (إلى الحافظة) |
| تصدير PDF | نعم، من الخادم | نعم، في المتصفح فقط |
| وضعية وقت التشغيل | ||
| صفحة ثابتة (بلا خلفية) | لا (Next.js 14) | نعم |
| عارض مكتوب يدوياً (بلا اعتماد على مكتبة markdown أو مُنقٍّ) | لا | نعم (نحو 340 سطراً) |
| تهريب HTML على كل قطعة نص | عبر مكتبة | نعم (HTML الخام في المصدر لا يُمرَّر أبداً) |
قائمة سماح لمخطّط الروابط (تُسقط javascript: / data:) | عبر مكتبة | نعم (http(s)، mailto، tel، مرساة، ومسارات نسبية فقط) |
| صندوق رمل لـ Mermaid | لا ينطبق | securityLevel: "strict"، أي بلا JS inline، بلا foreignObject، بلا جلب صور خارجية |
ما يقدّمه محرّر TaskKit ولا يقدّمه Dillinger
- مخطّطات Mermaid في المعاينة. كتل
```mermaidالمسيَّجة تُعرض كـ SVG inline. أحد عشر نوعاً من المخطّطات يعمل من البداية للنهاية. تُستورد مكتبة Mermaid ديناميكياً أوّل مرة يظهر فيها مخطّط، فتبقى الحزمة صغيرة للمستخدمين الذين لا يرسمون مخطّطاً أبداً. - تصدير PDF محلياً. خطّ الأنابيب كلّه (استنساخ المعاينة، تحويل SVG inline إلى PNG، تقطيع الـ canvas خارج الشاشة إلى صفحات A4، تضمينها بـ pdf-lib) يعمل في المتصفح فقط. افصل الشبكة في منتصف التصدير وسيُنتج الملف رغم ذلك.
- عارض مكتوب يدوياً بطبقتي أمان. كل قطعة نص تمرّ
عبر تهريب لكيانات HTML قبل وصولها إلى مخزن الإخراج (وسم
<script>حرفي في المصدر يصبح<script>، لا وسماً قابلاً للتنفيذ). كل URL يمرّ عبر قائمة سماح، فأيّ شيء خارجhttp(s)وmailtoوtelوالمراسي والمسارات النسبية يُسقط، بما في ذلكJaVaScRiPt:بحالة أحرف مختلطة وحشر أحرف التحكّم. - بلا خلفية. لا نموذج جلسة، ولا تخزين لرموز OAuth، ولا مسار خادم يأخذه المستند. تحميل صفحة Markdown في TaskKit يطلق نفس مجموعة استدعاءات الشبكة التي يطلقها تحميل بقية TaskKit: الأصول الثابتة، ولا شيء غيرها.
أين Dillinger أقوى
- مزامنة سحابية مع خمسة موفّرين. افتح ملفاً من مستودع GitHub، حرّره، احفظه. نفس الشيء مع Dropbox و Drive و OneDrive و Bitbucket. محرّر Markdown في TaskKit ليس فيه ما يكافئ ذلك: السير عنده هو "انسخ HTML والصقها أينما شئت".
- عمق محرّر Monaco. مؤشّرات متعدّدة، بحث / استبدال عبر الـ buffer، إكمال تلقائي ذكي، أوضاع تعيين مفاتيح vim و emacs. لو ذاكرتك العضلية هي "VS Code في المتصفح"، ففي Dillinger ستجدها.
- عرض رياضيات KaTeX. Inline عبر
$…$وكتلة عبر$$…$$. TaskKit ليس فيه رياضيات اليوم. - الحواشي السفلية. ترميز مرجعي
[^1]، مع التعريف في أيّ مكان من المستند. عارض TaskKit لا يغطّي الحواشي السفلية بعد. - تمرير صريح إلى نماذج LLM. نصّ Dillinger نفسه: "Markdown is the native language of large language models. Write in Dillinger, then feed your content directly to ChatGPT, Claude, or any LLM." TaskKit ليس فيه زرّ لذلك.
متى تلجأ إلى Dillinger بدلاً من ذلك
- تحتاج فتح وحفظ ملفات في GitHub أو Dropbox أو Drive أو OneDrive أو Bitbucket من المحرّر نفسه.
- تحتاج عرض رياضيات KaTeX.
- تحتاج حواشٍ سفلية.
- تريد عمق محرّر Monaco (مؤشّرات متعدّدة، إكمال تلقائي، وضع vim).
لكل ما عدا ذلك (صياغة README، معاينة وصف PR، تأليف وثيقة بمخطّطات Mermaid، تصدير PDF لا يغادر التبويب) محرّر Markdown في TaskKit هو الخيار الأنسب.
ما يتركه TaskKit عن قصد
- المزامنة السحابية. زرّ "احفظ إلى GitHub" تجربة ممتازة. لكنه يستلزم خلفية، ورموز OAuth مخزَّنة في مكان ما، ونموذج جلسة. وضعية TaskKit هي "بلا خلفية"؛ لصق HTML المعروض أو تنزيل PDF هو مسار التصدير.
- تظليل الصياغة في كتل الكود المسيَّجة. مظلِّل
حقيقي (Prism، highlight.js، Shiki) حجمه من 50 إلى 500 KB
مشحون لكل صفحة. تركناه خارج الحزمة لإبقائها صغيرة. وسم اللغة
يبقى كاسم كلاس (
language-js)، فتقدر تضيف التظليل فوق HTML المنسوخ لو احتجته. - إمكانية مدمجة لـ "إرسال إلى LLM". ذهاب مسوّدتك إلى LLM فعل حقيقي بعواقب حقيقية. المحرّر ليس المكان الصحيح لإخفاء ذلك خلف زرّ.
- نص قابل للتحديد داخل PDF المُصدَّر. التصدير ينقط المعاينة كصورة، مما يعطي تطابقاً مثالياً في التنسيق بمقابل التضحية بإمكانية تحديد النص. النص المتجهي يحتاج محرّك تخطيط مختلف.
جرّب أدوات Markdown في TaskKit
محرّر Markdown
CommonMark + جداول GFM، الشطب، قوائم المهام، مخطّطات Mermaid، وتصدير PDF حقيقي. لا شيء يغادر التبويب.
فاحص الفروقات
قارن مسوّدتي Markdown جنباً إلى جنب، محلياً.
المنهجية
اختُبر في 2026-05-16 على Chrome بملف جديد وكاش ممسوح، بدون
امتدادات نشطة تُرشّح الطلبات. عدد طلبات الشبكة أُخذ من سجلّ
الطلبات في المتصفح عند تحميل بارد لـ https://dillinger.io/،
قبل أيّ تفاعل. فحوصات المتتبّعات استعلمت window.ga،
و window.gtag، و window.dataLayer، و
window.google_tag_manager مباشرةً. طول طابور
_bsa قُرئ من window._bsa_queue. اقتباس
"PDF export Available Server-rendered" من الوثيقة الترحيبية
المشحونة على الصفحة الرئيسية. مسارات المزامنة السحابية وحزمة
Next.js 14 / Monaco موثّقة في صفحة
/features الخاصة بالأداة وفي مستودع
joemccann/dillinger.
ادّعاءات TaskKit تأتي من عارض Markdown في
src/lib/dev/markdown.ts ومن مكوّن الأداة في
src/components/dev/MarkdownTool.tsx. ستُعاد مراجعة
المصفوفة لمّا تتغيّر أيّ من الأداتين تغييراً جوهرياً.
Dillinger علامة تجارية لمالكها. هذه الصفحة لا ترتبط بـ Dillinger ولا تحظى بدعمه.