انتقل إلى المحتوى الرئيسي

الفصل 8 · الجزء III · في التطبيق

المساهمة في Postext

كيف تنضم إلى مجتمع Postext وتساهم في المشروع

آخر تحديث 2026-09-245 دقائقenescazhar

باختصار

يبني Postext مجتمعٌ من المتطوعين، ويستطيع أي شخص أن يساعد. لا يلزمك أن تكون مبرمجًا، فيمكنك أن تساعد أيضًا بالاختبار، أو بكتابة التوثيق، أو بالترجمة، أو بمشاركة ما تعرفه عن التصميم والطباعة. تشرح هذه الصفحة طريقة عمل الفريق، والمواضع التي تحتاج إلى المساعدة أكثر من غيرها، وكيف تقدّم أول مساهمة لك. وتنتهي بالأهداف البعيدة للمشروع.

نبني معًا محرّك الإخراج التحريري الذي لم يعرفه الويب من قبل.

Postext مشروع مفتوح المصدر يقوده مجتمعه. يسعى إلى حل مشكلة أُهملت عقودًا: نقل الإخراج التحريري الاحترافي إلى الويب. هذا طموح كبير، ويحتاج إلى أكثر من شخص واحد.

المشروع حديث العهد، لكنه لم يعد صفحة بيضاء: صدرت سلسلة الإخراج الأساسية، وصيغة المستند، ونظام الإعدادات. ومع ذلك ما زالت قرارات تصميم كثيرة مفتوحة، ويملك المساهمون الذين ينضمون الآن تأثيرًا حقيقيًا في الاتجاه الذي يسلكه المشروع. إن كنت تنتظر الوقت المناسب للانضمام، فهذا هو.

لا يلزمك أن تكون مبرمجًا لتساهم. سواء كنت تكتب الشيفرة، أو تصمّم صفحات تحريرية، أو تفهم فن الطباعة، أو تختبر على متصفحات مختلفة، أو تكتب التوثيق، أو تترجم المحتوى، أو لديك أفكار عن الطريقة التي ينبغي أن يعمل بها المحتوى التحريري على الويب، فلك مكان هنا.

#لماذا تساهم

يواجه كل فريق تطوير تحريري في العالم المشكلة نفسها: لم تُصمَّم CSS للإخراج التحريري. لا دعم أصليًا فيها لموازنة الأعمدة، ولا لمنع الأسطر اليتيمة (orphans) والأرامل (widows)، ولا لانسياب النص حول العوائق، ولا لوضع الحواشي السفلية. يحل كل فريق هذه المشكلات من الصفر، فيبني حلولًا هشّة تُصنع لمرة واحدة، مكلفة في صيانتها ومستحيلة المشاركة.

يسعى Postext إلى تغيير ذلك، لا بوصفه أداة مملوكة، بل معيارًا مفتوحًا مشتركًا: محرّك إخراج واحد عالي الجودة يمكن أن تعتمده دور النشر والمجلات والصحف ومنصات الكتب وفرق التطوير في أنحاء العالم، وأن تبني عليه.

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

#كيف نعمل

يجري التنسيق كله على GitHub. لا قنوات خاصة، ولا قوائم بريدية مغلقة، ولا قرارات تُتخذ خلف أبواب موصدة. كل شيء علني، وقابل للبحث، ومفتوح للمشاركة.

  • Issues (المسائل): لبلاغات الأخطاء وطلبات الميزات والمهام المحددة. إن أردت العمل على شيء ما، فابدأ من هنا.
  • Pull Requests (طلبات الدمج): لمساهمات الشيفرة. افتح مسألة أولًا لمناقشة المقاربة قبل كتابة الشيفرة.
  • Discussions (النقاشات): للأفكار، وحوارات التصميم، والأسئلة، وكل ما ليس خطأً أو مهمة محددة. هذا هو المكان الذي تفكّر فيه بصوت عالٍ.

هذا مقصود: حين يكون كل شيء في مكان واحد، يستطيع أي شخص أن يجد السياق وراء أي قرار، ويستطيع المساهمون الجدد قراءة التاريخ.

مسار مساهمة نموذجيتبدأ الفكرة مسألةً (Issue) أو نقاشًا (Discussion)، ثم تُناقَش، ثم تصبح طلب دمج (Pull Request) يُراجَع، ثم تُدمَج في النهاية. المسائل التي تحمل الوسم good first issue هي مدخل القادمين الجدد.1مسألةمشكلة أو فكرة2نقاشالمقاربة والتصميم3طلب دمجمراجعة الشيفرة4دمجفي developgood first issueأفضل نقطة دخول
من الفكرة إلى الدمج: أربع مراحل، كلها علنية على GitHub.

#مجالات يمكنك المساعدة فيها

يحتاج المشروع إلى أنواع كثيرة من الخبرات. هذه بعض المجالات التي تكون فيها المساهمات ذات قيمة خاصة:

#الشيفرة والخوارزميات

  • خوارزميات الإخراج الطباعي: محرّك ضبط الأسطر Knuth-Plass، وموازنة الأعمدة، والتقسيم الأمثل للفقرات إلى أسطر، والترقيم حسب نوع المورد، ووضع العناصر العائمة.
  • إنتاج PDF: بناء PDF على المستوى المنخفض، وتضمين الخطوط، وإدارة الألوان، والتعامل مع بايتات الموارد في الأشكال ذات الحبر الواحد.
  • رسم النص: الرسم على اللوحة (Canvas)، ومخرجات SVG، وإعادة تلوين SVG بحبر واحد (diagramStyle.singleInk)، ومقاييس الخطوط.
  • تحسين الأداء: طبقة ذاكرة القياس المؤقتة، وإبقاء محرّك الإخراج سريعًا بما يكفي للاستعمال الفوري عند كل تغيير في المقاس.

#Sandbox وواجهة المستخدم

صار Sandbox واجهة React كبيرة قائمة بذاتها: لوحة الموارد فيها محرّر جداول تفاعلي ورفع للصور وملفات SVG، ولوحة الخطوط، ولوحة التصميم التي تغطي مجموعاتها الاثنتا عشرة كل زاوية من زوايا المحرّك. بُنيت عناصر التحكم فيه على مكوّنات Base UI الأولية (packages/postext-sandbox/src/ui/) وتُفحص بأداة axe-core وفق WCAG 2.1 AA، لذا ينبغي أن تعيد عناصر التحكم الجديدة استعمالها، وأن يبقى لكل حقل اسم من تسميته ووصف من نص المساعدة الخاص به. يتبع كل نص في الواجهة اصطلاح تدويل (i18n) صارمًا، تمر فيه التسميات عبر خمسة ملفات موزعة بين حزمة sandbox وفهارس اللغات في تطبيق الويب. إن ساهمت في الواجهة الأمامية أو تجربة المستخدم، فهنا يصل عملك.

#التصميم وفن الطباعة

  • خبرة التصميم التحريري: إن كانت لديك خبرة في إخراج المجلات أو الصحف أو الكتب، فمعرفتك بما يجعل الصفحة تنجح (أو تفشل) لا تُقدَّر بثمن، ولا تحتاج فيها إلى أي شيفرة.
  • التقاليد الطباعية: ينبغي أن يحترم المشروع الأعراف الطباعية للغات وأنظمة الكتابة المختلفة، لا الحروف اللاتينية وحدها.

#التوثيق والمجتمع

  • التوثيق: تحسين التوثيق وتوسيعه وصيانته. التوثيق الواضح هو ما يفرّق بين مشروع يعتمده الناس ومشروع يتركونه.
  • الترجمات: التوثيق حاليًا بلغتين (الإنجليزية والإسبانية). ونرحّب بمزيد من اللغات.
  • الاختبار: الاختبار على المتصفحات وأنظمة التشغيل المختلفة وفي الحالات الحدّية. العثور على الصفحات التي تنكسر له قيمة بناء الصفحات التي تعمل نفسها.

#تصميم الصيغة والمخطط

لم تعد الصيغة صفحة بيضاء: صدرت كتل ::resource، والإحالات المضمّنة :ref، وأقسام الإعدادات tableStyle وcaptionStyle وdiagramStyle. والعمل الآن هو تطوير صيغة قائمة من غير أن تنكسر:

  • قواعد المستند: حواشي الهامش والإحالات المرجعية التي تتجاوز الموارد ما زالت أسئلة مفتوحة، كل منها مسألة تصميم بقدر ما هي مسألة تقنية.
  • مخطط الإعدادات: إبقاء النظام قويًا بما يكفي للمحترفين وبسيطًا بما يكفي للمبتدئين وهو يكبر.
أين يمكنك المساعدة، في لمحةأربعة أرباع في كل منها أمثلة ملموسة: الشيفرة وواجهة Sandbox، والتصميم وفن الطباعة، والتوثيق والمجتمع، والصيغة والمخطط.postextالشيفرة وواجهة SandboxKnuth-Plass والعناصر العائمةPDF والإخراج المرئيذاكرة القياس المؤقتةواجهة Sandbox والتدويلالتصميم وفن الطباعةالتصميم التحريريالتقاليد الطباعيةالمجلات والصحفأنظمة الكتابة غير اللاتينيةالتوثيق والمجتمعتحسين التوثيقالترجماتالاختبار على المتصفحاتاستقبال القادمين الجددالصيغة والمخططالتوجيهان ::resource و:refمخطط الإعداداتالحواشي السفلية وحواشي الهامشالإحالات المرجعية
لا حاجة إلى لمس الشيفرة: للمساهمة أثر حقيقي في جبهات كثيرة.

#البداية

الإعداد العملي، من استنساخ المستودع وتثبيت الاعتماديات إلى تشغيل الاختبارات، موثّق في CONTRIBUTING.md. ابدأ من هناك للخطوات الآلية.

حين تنتهي من الإعداد، إليك ثلاث خطوات ملموسة، من الأخف التزامًا إلى الأثقل:

  1. عرّف بنفسك في Discussions: قل ما الذي تعمل عليه وما الذي أتى بك إلى هنا. لا سؤال أبسط من أن يُطرح، وهذه أسرع طريقة ليعرف المجتمع أنك وصلت.
  2. اختر مسألة من good first issue: مسائل مختارة لتكون مدخلًا واقعيًا، لا تتطلب سياقًا تاريخيًا خفيًا.
  3. ترجم التوثيق إلى لغة جديدة: التوثيق اليوم بالإنجليزية والإسبانية. وأي لغة ثالثة هدية للقرّاء الذين لا يجدون اليوم ما يقرؤونه.

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

#ماذا تقرأ بعد ذلك

لتتعرّف على المشروع قبل أن تغوص فيه:

  • البنية: كيف تُبنى سلسلة الإخراج وأين يقع كل نظام فرعي.
  • صيغة المستند: قواعد Markdown المُثرى التي يوسّعها المساهمون.
  • Sandbox: الملعب الذي يسهل فيه رؤية معظم التغييرات واختبارها.

#المجتمع

ما زال Postext في بداياته، وهذا تحديدًا ما يجعل هذه اللحظة مميزة. المساهمون الذين ينضمون الآن لا يكتبون الشيفرة فحسب، بل يرسمون الأعراف والأولويات والثقافة.

يقدّر المشروع ما يلي:

  • التصميم المتأني قبل السرعة. إصابة التجريدات أهم من الإصدار السريع. صُقل فن الطباعة على مدى قرون، ويمكننا أن نأخذ وقتنا لنتقنه.
  • الوضوح قبل البراعة. الشيفرة السهلة القراءة والفهم أثمن من شيفرة مبهرة لكنها غامضة.
  • التعاون قبل الاستئثار. لا أحد يملك جزءًا من الشيفرة. تُقيَّم الأفكار بجدارتها، لا بمن اقترحها.

يُعترف بكل المساهمين. هذا المشروع موجود لأن أناسًا يختارون أن يقضوا وقتهم في تحسينه.

#الرؤية

يسعى Postext إلى أن يصبح محرّك الإخراج المعياري للمحتوى التحريري على الويب: الأداة التي تلجأ إليها دور النشر والمجلات والصحف ومنصات الكتب حين تحتاج إلى طباعة احترافية.

إن كنت تعمل في التطوير التحريري وتحل مشكلات الإخراج هذه وحدك، فهذه دعوتك إلى أن تحلها مرة واحدة، كما ينبغي، مع الآخرين.