حول mdseal
mdseal (mdseal.dev) يحوّل الوثائق ويختمها، على خادم سيّد وبرخصة
حرّة: من Markdown أو HTML إلى PDF، أو عرض شرائح PDF (16:9)، أو PowerPoint (PPTX)، ثمّ توقيع
ملفّ PDF وحمايته. ولا تُرسَل أيّ بيانات إلى خدمة خارجيّة — كلّ شيء يُنتَج هنا.
كان اسم هذه الأداة أوّل الأمر docme. وتغيّر الاسم حين صار الختم هو المهمّ:
فالتحويل سلعة شائعة، أمّا الختم فلا. والحكاية أدناه حكاية docme، وتبقى صحيحة —
فالأصل لا يُعاد كتابته.
من أين جاء mdseal
من صفحتين. RestoTrax — برنامج المطاعم في المنظومة — يحمل صفحة مساعدة وصفحة
تعريف مكتوبتين بـ Markdown (pages/aide.md وpages/a-propos.md)،
تُعرَضان على الشاشة بـ @mostajs/markdown-html. وعلى الشاشة كان كلّ شيء على ما يُرام. ثمّ
وجب تسليمهما إلى أحد — مستثمِر، أو محاسب، أو مكوِّن — والشاشة لا تُسلَّم. تلك الحاجة، لا أكثر
منها طموحًا، هي التي أنتجت هذه السلسلة.
وما تعلّمناه في الطريق يستحقّ أن يُكتَب هنا، لأنّه الفخّ الذي يقع فيه المرء مرّة واحدة: التوثيق المكتوب والتوثيق المولَّد عن الشيفرة لا يُسلَّمان بالأداة نفسها.
| مولَّد عن الشيفرة | مكتوب بـ Markdown | |
|---|---|---|
| ما هو | ما يكونه البرنامج: وحدات مركّبة، وواجهات، ومخرجات | ما فُكِّر فيه: دراسات، ومراجعات، وخطط، وقرارات، ومقالات |
| مصدره | package.json، llms.txt، وترويسات الملفّات — لا يدٌ أبدًا | ملفّ .md مُصدَّر ومكتوب |
| على الشاشة | @mostajs/docs-ui | @mostajs/markdown-html |
| للتسليم | نُعيد توليده | mdseal، هذه الصفحة عينها |
يُهرِّب docs-ui كلّ ما يتلقّاه: فهو ينتظر بيانات لا نثرًا. وتسليمه دليلًا محرّرًا يعرضه
حرفًا حرفًا بوسومه — وليس ذلك نقصًا فيه بل طبيعته. وبالمقابل، قائمةُ وحدات مُعاد نسخها يدويًّا
تصير خاطئة عند الوحدة التالية، دون أن ينتبه أحد. ومن هنا استمدّت قاعدة الدار فقرتها 9 مكرّر،
حيث سُمّي docme السلسلة المرجعية للتوثيق المكتوب.
التقنية — تركيب لا إعادة اختراع
mdseal واجهة بسيطة فوق منظومة @mostajs/*، مجمَّعة بالتركيب:
| اللبنة | دورها |
|---|---|
@mostajs/markdown-html | من Markdown إلى HTML (بلا تبعيّات) |
@mostajs/doc-themes + @mostajs/palette | سمات مُتحقَّق من تباينها (المصدر: palette.amia.fr) |
@mostajs/doc-export | التنسيق (القلب النحيف) — ومنذ 0.2.1 أمر doc-export |
@mostajs/doc-driver-chrome | من HTML إلى PDF (Chrome بلا واجهة) |
@mostajs/doc-driver-pandoc | من Markdown إلى PPTX (pandoc) |
@mostajs/pdf-sign + @mostajs/pdf-sign-ui | توقيع PAdES وأذون AES-256 (محرّك pyhanko) |
@mostajs/api-keys + @mostajs/subscriptions-plan | مفاتيح الواجهة، والخطط، والحصص، والفوترة |
@mostajs/i18n | الفرنسية والإنجليزية والعربية — مع الكتابة من اليمين إلى اليسار |
القلب بلا تبعيّات؛ والمحرّكات الثقيلة (المتصفّح، pandoc، pyhanko) مشغّلات قابلة للاستبدال — نتبنّى أفضل أداة في العالم لكلّ حاجة، ولا نعيد اختراعها أبدًا. والتوقيع آخر مثال على ذلك: لا يعرف mdseal لا PKCS#7 ولا PAdES، بل يسأل وحدةً تعرفهما.
المؤلّف والرخصة
تصميمًا وتطويرًا: Dr Hamid MADANI <drmdh@msn.com>. برمجيّة حرّة تحت رخصة AGPL-3.0-or-later.