📄 mdseal

حول 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.