خدمة Serverless على Cloudflare تحوّل Markdown إلى PDF بدعم العربية RTL ومخططات PlantUML بصيغة SVG ومعادلات KaTeX، عبر واجهة ويب وREST API وخادم MCP.

مشروع أكاديمي نفذه فريق من الطلاب بمساعدة تقنية من مكتب تكنو إنجاز لتصميم وتنفيذ خدمة سحابية لتحويل مستندات Markdown إلى ملفات PDF تعمل بالكامل على بنية Serverless في منصة Cloudflare. تعالج الخدمة ثلاث نقاط تتعثر فيها كثير من أدوات التحويل: دعم العربية واتجاه الكتابة من اليمين إلى اليسار (RTL)، ودمج مخططات PlantUML كرسوميات متجهة SVG بدل الصور النقطية، وعرض معادلات LaTeX عبر KaTeX.
تُتاح الخدمة بثلاث طرق: واجهة ويب بمحرر ومعاينة مباشرة، وواجهة برمجة تطبيقات REST موثقة للمطورين، وخادم MCP (Model Context Protocol) يتيح لوكلاء الذكاء الاصطناعي استدعاء التحويل مباشرة. ويجري توليد ملف PDF النهائي داخل متصفح Chromium رأسي عبر Cloudflare Browser Rendering (Puppeteer)، وقد نجحت اختبارات المشروع الوظيفية في تحويل التنسيقات الأساسية والنص العربي والمعادلات وتلوين الشيفرات وثلاثة أنواع من مخططات PlantUML.
| العنصر | البيانات |
|---|---|
| نوع المشروع | خدمة ويب وواجهة API وخادم MCP لتحويل المستندات |
| المجال | الحوسبة بدون خوادم والحوسبة الطرفية، معالجة المستندات، تكامل أدوات الذكاء الاصطناعي |
| حالة المشروع | نظام منفذ على Cloudflare ومختبر وظيفيًا على مستندات تجريبية |
| دور تكنو إنجاز | دعم ومساعدة تقنية للطلاب أثناء تطوير المشروع |
| تقنيات أساسية | Cloudflare Pages Functions، Cloudflare Browser Rendering (Puppeteer)، Cloudflare D1، Hono، Zod، JWT، bcryptjs، Marked، Gray-matter، Highlight.js، KaTeX، PlantUML |
| المخرجات | ملفات PDF بدعم RTL، واجهة ويب ثنائية اللغة، REST API موثقة، خادم MCP، ملف OpenClaw Skill، سجل تحويلات |
أصبحت لغة Markdown معيارًا شائعًا لكتابة الوثائق التقنية وفق منهجية «الوثائق كنصوص برمجية» (Docs-as-Code)، لكن تحويلها إلى PDF احترافي ما يزال يواجه عقبات واضحة:
نُفذ المشروع أكاديميًا بواسطة فريق من الطلاب، مع مساعدة ودعم تقني من مكتب تكنو إنجاز أثناء مراحل التطوير. ويُعرض ضمن أعمال المكتب مثالًا على دعمه لمشاريع الخدمات السحابية بدون خوادم وواجهات البرمجة وتكاملات MCP مع أدوات الذكاء الاصطناعي.
اعتمد النظام معمارية متعددة الطبقات تعمل كلها على حافة شبكة Cloudflare:
| الطبقة | المكونات | الدور |
|---|---|---|
| العميل | واجهة ويب بـ HTML وCSS وJavaScript، أنظمة خارجية، وكلاء ذكاء اصطناعي | إرسال المستندات واستلام ملفات PDF |
| الواجهة الخلفية | Hono على Cloudflare Pages Functions، Zod، JWT، bcryptjs | التوجيه والمصادقة والتحقق من البيانات وإدارة الطلبات |
| محرك التحويل | Gray-matter، Marked، Highlight.js، KaTeX، PlantUML Encoder | تحويل Markdown إلى صفحة HTML متكاملة |
| الخدمات السحابية | Cloudflare Browser Rendering، Cloudflare D1، خادم PlantUML | توليد PDF، وتخزين البيانات، وتوليد رسوميات SVG |
اختيرت تقنيات الويب الأساسية (Vanilla) للواجهة بدل أطر مثل React أو Vue لتقليل حجم الملفات وتسريع التحميل، مع خط Noto Sans Arabic للنصوص العربية وخط Fira Code للشيفرات. أما قاعدة D1 المبنية على SQLite فتضم جداول المستخدمين والأدوار والملفات الشخصية ورموز التجديد (Refresh Tokens) والمستندات وإعدادات التحويل والسمات وسجل استخدام الواجهة البرمجية.
نُفذ خادم MCP فوق Cloudflare Pages باستخدام نقل Streamable HTTP، بنقطة نهاية موحدة يستطيع أي عميل متوافق مع البروتوكول استخدامها. ويوفر الخادم أدوات لتحويل Markdown إلى PDF، واستعراض المستندات المحفوظة، وجلب مستند محدد، وإنشاء جلسات مؤقتة للمستخدمين الضيوف. كما يتضمن المشروع ملف OpenClaw Skill يصف إمكانات الخدمة ومعاملاتها لتستدعيها أدوات الذكاء الاصطناعي مباشرة.
أجرى المشروع اختبارات وظيفية على مستندات تجريبية، وأظهرت:
| الاختبار | ما جرى اختباره | النتيجة الموثقة |
|---|---|---|
| خصائص النظام | RTL، المعاينة الفورية، تصدير PDF، المعادلات، تلوين الشيفرات، PlantUML | جميعها تعمل دون إعدادات إضافية |
| التنسيقات الأساسية | العناوين، العريض والمائل، القوائم المرتبة وغير المرتبة، الروابط | حُوّلت دون تشوه في التخطيط أو اتجاه النص |
| المعادلات (LaTeX) | معادلات سطرية ومستقلة ومصفوفات وتعبيرات معقدة | عُرضت مع الحفاظ على الرموز وأحجامها ومواضعها |
| تلوين الشيفرات | JavaScript وPython وCSS وSQL وJSON | طُبق التمييز النحوي لكل لغة داخل PDF |
| مخططات PlantUML | مخطط تسلسلي، مخطط فئات، مخطط تدفق | حُوّلت إلى رسوميات SVG متجهة دون صور نقطية |
هذه نتائج تحقق وظيفي موثقة بلقطات من المخرجات. لم يقس التقرير أزمنة الاستجابة أو سعة التحمل أو عدد التحويلات المختبرة، ولذلك لا تُنسب للخدمة أرقام أداء محددة.
بحسب الآفاق الواردة في المشروع، يمكن توسيع الخدمة عبر:
إذا كنت تعمل على أداة API أو تكامل MCP لتطويرك وتحتاج إلى مساعدة تقنية في تطوير الفكرة أو بناء نموذج أولي، يمكن التواصل مع مكتب تكنو إنجاز لمناقشة متطلبات المشروع ونطاق الدعم المناسب.
خدمة سحابية تعمل بالكامل على بنية Serverless في Cloudflare، نُفذت كمشروع أكاديمي نفذه فريق من الطلاب بمساعدة تقنية من مكتب تكنو إنجاز. تحوّل مستندات Markdown إلى PDF مع دعم العربية RTL ومخططات PlantUML بصيغة SVG ومعادلات LaTeX، وتُتاح عبر واجهة ويب وREST API وخادم MCP.
تتحقق الواجهة الخلفية (Hono) من الهوية بـ JWT ومن المدخلات بـ Zod، ثم تستخرج Gray-matter البيانات الوصفية، وتحوّل Marked النص إلى HTML مع تلوين Highlight.js ومعادلات KaTeX. تُدمج مخططات PlantUML كـ Inline SVG، ثم يولّد Cloudflare Browser Rendering (Puppeteer) ملف PDF وتُسجّل العملية في قاعدة D1.
يعمل خادم MCP فوق Cloudflare Pages بنقل Streamable HTTP، ويوفر لوكلاء الذكاء الاصطناعي أدوات لتحويل Markdown إلى PDF، واستعراض المستندات المحفوظة، وجلب مستند محدد، وإنشاء جلسات ضيف مؤقتة. ويرافقه ملف OpenClaw Skill يصف إمكانات الخدمة ومعاملاتها.
نجحت الاختبارات الوظيفية في تحويل العناوين والقوائم والروابط دون تشوه في الاتجاه، والمعادلات السطرية والمستقلة والمصفوفات، وتلوين شيفرات JavaScript وPython وCSS وSQL وJSON، ومخططات PlantUML التسلسلية والفئات والتدفق كرسوميات SVG. ولم يقس التقرير أزمنة الاستجابة أو سعة التحمل.
تستهدف المطورين وكتّاب المحتوى التقني والباحثين والشركات التي تحتاج إلى توليد PDF آليًا، خاصة بالعربية. أما حدودها فتشمل الاعتماد على خادم PlantUML خارجي، واقتصار الصيغ على Markdown إلى PDF، وغياب المعالجة المتوازية وميزات التعاون في النسخة الحالية.
تواصل مع فريق تكنو إنجاز لمناقشة قابلية التنفيذ العملي، اختيار القطع، وتطوير النموذج الأولي.