دعم اللغة العربية في markdown

هل سمعت من قبل بـ Markdown؟ انها لغة الترميز اللتي يستخدمها موقع Stackoverflow و اخواته للكتابة و النشر, منذ ان تعلمتها هناك و انا احبها و اظن انها الطريقة الوحيدة المريحة لكتابة مواضيع/تدوينات برمجية

تخيل عندما تكتب تدوينة في wordpress مثلا و تريد اضافة كود, يجب ان تدخل اوسمة html يدويا, يعني <pre><code> الخ,

بينما في Markdown فالكود هو مجرد فقرة مدفوعة للامام باربع مسافات امام كل سطر

هذا فضلا عن البساطة في اضافة العناوين و اضافة *emphasis* الى كلمة او فقرة

اصبحت لا اطيق اي طريقة لنشر اي مادة برمجية لا تعتمد على Markdown, و احد اسباب انتقالي الى tumblr فضلا عن النواحية الفنية في الموقع هو دعمه المباشرة لتقنية markdown و كذلك انني استطعت تحويره لكي استطيع نشر مواضيع عربية مكتوبة بالمارك داون

هنا نموذج حي عن امكانيات Markdown

و لكن حاول الكتابة باللغة العربية؟ ستجد ان الكتابة تظهر لليسار و ستكون مصفوفة من اليسار الى اليمين, يعني لو ادخلت كلمات انكليزية في الوسط فستكون النتيجة كارثة انسانية :)

صحيح انني حليت المشكلة في هذا الموقع, و لكنه حل ترقيعي كما يقولون, و نحتاج الى حل افضل.

اولا تعريف المشكلة: البحث عن طريقة لكتابة تدوينات عربية برمجية من دون html او لغات ترميز معقدة. ماركداون تحل المشكلة و لكنها لا تعرف شيئا عن اللغة العربية.

طبعا في عالم الويب فإن دعم عرض و تحرير اللغة العربية امر يتكفل به المتصفح, و لكن ما اقصده هو وضع فقرات عربية تكون مصفوفة الى اليمين و يكون اتجاه سير النص من اليمين الى اليسار. او بمعنى آخر اضافة خصائص direction: rtl; text-align: right الى الفقرات المكتوبة باللغة العربية تلقائيا.

بدأت بعمل fork من مشروع showdown على github و اضفت اليه بعض التعديلات في محاولة لاضافة دعم لاظهار الفقرات العربية من اليمين الى اليسار

الكود منشور هنا:

http://github.com/hasenj/showdown

و هو في مرحلته الاولية, و هناك احتمال لوجود بعض الاخطاء و الـ bugs و لكنه على ما اظن بداية جيدة

هناك مثال حي استضافه صديقي العزيز عمر محمد على موقعه مشكورا :)

http://omar84.com/docs/rtlsd/showdown-gui.html

image

في هذه المرحلة اود اصلاح اي خلل في الكود,

فيما بعد احب ان اضيف نفس الدعم الى محرر wmd في مربع الادخال ايضا و ليس فقط مربع الاخراج

بعدها اضافة التعديلات نفسها الى النسخة الاصلية بلغة perl و الى النسخ المشهورة من اللغات الاخرى مثل python, c#, ruby, الخ

لكن المشكلة الحقيقية ليست هنا, بل في تبني هذه الاضافة من قبل المواقع الشهيرة اللتي تدعم الكتابة و النشر بلغة الترميز هذه .. عندها فقط يمكن ان نقول ان فكرة المشروع نجحت.