Utilia

محوّل HTML إلى Markdown

حوّل HTML إلى Markdown وMarkdown إلى HTML في متصفحك، مع جداول GitHub والشطب وقوائم المهام ومعاينة آمنة. لا يُرفع أي شيء.

التحويل

معاينة

المعاينة منقّاة: تُحذف السكربتات والنماذج ومعالجات الأحداث، ولا تُحمَّل الصور البعيدة أبدًا.

كيفية تحويل HTML إلى Markdown

  1. اختر اتجاه التحويل: HTML ← Markdown أو Markdown ← HTML.
  2. الصق شيفرتك في مربع الإدخال، أو انقر فتح ملف لتحميل ملف .html أو .htm أو .md أو .txt من حاسوبك (حتى 10 MB).
  3. عدّل الخيارات. عند التحويل من HTML إلى Markdown يمكنك اختيار نمط العناوين وعلامة القائمة ونمط كتل الشيفرة. أما عند التحويل من Markdown إلى HTML فيكون خيار تنقية HTML (حذف السكربتات ومعالجات الأحداث) مفعّلًا افتراضيًا.
  4. انقر تحويل. تتحدّث النتيجة أيضًا أثناء الكتابة.
  5. انسخ النتيجة أو نزّلها. ينقل زر عكس الاتجاه النتيجة إلى الإدخال لتحوّلها في الاتجاه المعاكس وتتحقق من أن الذهاب والإياب يعيدان المحتوى نفسه.

تعرض معاينة أسفل النتيجة شكل Markdown بعد العرض، فتتحقق من التحويل بنظرة سريعة.

ماذا يفعل التحويل من HTML إلى Markdown؟

يقرأ المحوّل شيفرة HTML بمحلّل المتصفح نفسه داخل مستند خامل: فلا تُنفَّذ السكربتات ولا تُنزَّل الصور. ثم يمرّ على بنية الصفحة ويكتب مقابل كل عنصر بصيغة Markdown:

  • تصبح <h1> إلى <h6> عناوين. يكتب نمط ATX (# العنوان) الرموز من # إلى ######، ويضع نمط Setext (مسطّر) خطًا تحت عناوين المستويين 1 و2 بـ === أو --- (وتستخدم المستويات من 3 إلى 6 دائمًا #).
  • تصبح <strong> و<b> صيغة **bold**، و<em> و<i> صيغة _italic_، و<code> السطري علامات backtick.
  • تصبح الروابط [text](url "title") والصور ![alt](src).
  • تستخدم القوائم العلامة المختارة (- أو * أو +)، وتحتفظ القوائم المرقمة برقم البداية start، وتُزاح القوائم المتداخلة.
  • يصبح <pre><code> كتلة شيفرة، إما مسوّرة (```) أو مُزاحة (4 مسافات).
  • تُحوَّل أيضًا <blockquote> و<hr> وفواصل الأسطر.
  • تُحذف <script> و<style> و<iframe> و<noscript> والعناصر المشابهة مع محتواها.

أما الأحرف التي قد تُقرأ بخلاف ذلك كصياغة Markdown، مثل * أو # في بداية السطر، فتُهرَّب بشرطة مائلة عكسية ليبقى النص حرفيًا.

GitHub Flavored Markdown

عند تفعيل خيار GitHub Flavored Markdown (جداول، ~~شطب~~، قوائم مهام):

  • تصبح الجداول جداول بخطوط عمودية وأعمدة محاذاة. يُؤخذ صف العناوين من صف <thead> أو من صف مكوّن فقط من خلايا <th>؛ وإن لم يوجد، يُضاف صف عناوين فارغ لأن GFM يشترطه. وتُقرأ محاذاة الأعمدة من align="right" أو style="text-align: center". تُهرَّب الخطوط العمودية داخل الخلايا بصيغة \|، وتصبح فواصل الأسطر <br>، ويُكمَّل colspan بخلايا فارغة. وتُكتب <caption> فقرةً فوق الجدول.
  • تصبح <del> و<s> و<strike> صيغة ~~strikethrough~~.
  • تصبح مربعات الاختيار في بداية عناصر القوائم عناصر قائمة مهام: - [x] done و- [ ] to do.

لا مقابل في Markdown للجداول المتداخلة ولا للصفوف المدمجة ولا لتنسيق الخلايا. فالجدول الذي يحتوي جدولًا آخر يُبقى بصيغة HTML خام، وهي صيغة تقبلها معظم أدوات عرض Markdown. ومن دون خيار GFM، تُبقى كل الجداول بصيغة HTML.

من Markdown إلى HTML

في الاتجاه الآخر، يُعرض Markdown بمحلّل متوافق مع CommonMark، مع امتدادات GFM عند تفعيل الخيار. يكون الناتج مقاطع HTML جاهزة للصق في نظام إدارة محتوى أو قالب بريد إلكتروني أو صفحة ويب. وعند تفعيل تنقية HTML (حذف السكربتات ومعالجات الأحداث)، يُنظَّف HTML الخام المضمّن في Markdown: تُحذف وسوم <script> وسمات onclick وروابط javascript:. لا تعطّل هذا الخيار إلا مع Markdown كتبته بنفسك.

الأسئلة الشائعة

هل تُرسل شيفرة HTML الخاصة بي إلى خادم؟

لا. يجري التحويلان بالكامل في متصفحك، ولا ترفع الصفحة أبدًا ما تلصقه أو تفتحه. يمكنك تحويل التوثيق الداخلي أو المسودات بأمان.

هل المعاينة آمنة مع HTML غير موثوق؟

نعم. تمر معاينة دائمًا عبر DOMPurify: تُحذف السكربتات والنماذج والإطارات ومعالجات الأحداث، وتُفتح الروابط في علامة تبويب جديدة دون وصول إلى هذه الصفحة، ولا تُحمَّل الصور البعيدة أبدًا. تُعرض فقط الصور المضمّنة كعناوين data:.

لماذا تختفي بعض أجزاء صفحتي؟

لا يصف Markdown إلا بنية المحتوى. فعناصر التخطيط وأصناف CSS والأنماط المضمّنة والنماذج والعناصر المدمجة لا صيغة لها في Markdown، فلا يُحفظ منها سوى نصها. وتُحذف السكربتات والأنماط كليًا.

هل يمكنني تحويل صفحة ويب كاملة؟

نعم. الصق المصدر كاملًا بما فيه <html> و<head>: فلا يُحوَّل إلا محتوى <body>. وللحصول على Markdown أنظف، الصق جزء المقال فقط دون القائمة والتذييل.

ما نكهة Markdown التي يتبعها الناتج؟

يتبع الناتج CommonMark، وهو المعيار الذي تدعمه GitHub وGitLab وObsidian ومعظم مولّدات المواقع الثابتة وكثير من محررات أنظمة إدارة المحتوى. وتتبع الجداول والشطب وقوائم المهام مواصفة GitHub Flavored Markdown.