لاحظت وجود بعض قوائم المراجعة الموجودة على نسختي التي كانت تعرض بناء الجملة القديم باستخدام النجمة. قررت تشغيل مهمة rake المذكورة أعلاه، لكنها لم تُحدَّث.
بحسب ما أذكر، تم ترحيل معظم قوائم المراجعة الأخرى الأخرى صامتًا إلى بناء الجملة الجديد أثناء ترقية Discourse خلال الأسابيع القليلة الماضية. لكن يبدو أن هناك بعض الحالات الغريبة التي تركتها مهمة rake دون معالجة. هل لدى أحدكم أي فكرة عن سبب ذلك؟
يسعدني تقديم المزيد من المعلومات إذا كان ذلك يساعد في استكشاف المشكلة.
تحديث: يبدو أن أحد هذه المنشورات كان يحتوي على بناء الجملة [\*] (الذي يتم إنشاؤه تلقائيًا عند تحديد مربع الاختيار من واجهة المستخدم). لذا ربما تكون هذه هي الحالة التي لم تلتقطها مهمة rake؟
ألا تبدأ قوائم المهام دائمًا برمز نقطة (* أو -) أولاً [1, 2]، لذا يجب أن يطابق التعبير النمطي: - [\*]
وهو ما يعني أن هذا يُتجاوز لأنه لم يعد في أول ثلاثة أحرف.
لقد وجدت لاحقًا حالات أخرى لدي فيها مربعات اختيار متداخلة أيضًا. لذا فإن افتراض أنها في بداية السطر سيتجاوز أيضًا العديد من حالات الاستخدام الصالحة.
ملاحظة جانبية: أدركت أن المنشور الأصلي هنا لا يستخدم بناء جملة قوائم المهام في GFM (ولكن فقط اعتبارًا من 4 أغسطس مع التغيير في الويكي بواسطة @sam)، لكنني كنت أستخدم ذلك منذ فترة طويلة. مواصفة CommonMark التي يبدو أن Discourse تشير إليها في توثيق Markdown لا تدعم قوائم المهام بعد. هل تقوم Discourse باختراع متغير خاص بها من بناء جملة قوائم المهام؟ أفضل الالتزام ببناء جملة GFM الشائع على نطاق واسع بدلاً من تنويعه أكثر.
عذرًا، يبدو هذا مربكًا لأن الأمور تغيرت مؤخرًا بشكل كبير. أنا أشير إلى لقطة الشاشة المعروضة في صفحة الإضافة التي لا تُظهر بناء جملة قائمة المهام النقطية (والتي يبدو أن مهمة rake migrate لا تدعمها):
إليك لقطة شاشة للفرق (diff) التي أجرت هذا التغيير:
من الصعب رؤيتها، لكن الجانب الأيسر يحتوي على مربعات اختيار نقطية، بينما يزيل الجانب الأيمن الحالي النقاط، مما يشير إلى بناء جملة مختلف افتراضيًا لمربعات الاختيار للمستخدمين الجدد.
مضاف لاحقًا:
بمعنى آخر، يتم دعم جميع الصيغ التالية الآن باستخدام إضافة قائمة المهام:
[] first
-[] second
- [] third
يتم عرضها على النحو التالي:
first
- second
third
بينما يسمح مواصفات قائمة المهام في GFM فقط بالمتغير الثالث (بما أن قائمة المهام هي قائمة):
دعم حالة GFM لا يعني عدم دعم الحالات الأخرى. لو قمت باستقراء هذا المنطق، لكان ذلك يستلزم إجراء العديد من التغييرات السلبية على الطريقة التي يتعامل بها Discourse مع جميع أنواع تنسيقات Markdown.
هناك العديد من التطبيقات التي تولّد مربعات اختيار بتنسيق Markdown، ومن المريح جدًا القدرة على لصق القوائم في منشورات Discourse. ما هي القيمة في كسر التوافق؟
إحدى المشاكل الكبيرة في Markdown هي عدم وجود معيار موحد (CommonMark يعمل على إصلاح ذلك)، مما أدى إلى وجود مجموعة متنوعة من التطبيقات غير المتوافقة. عندما يكون هناك بالفعل امتداد قائمة مهام شائع جدًا على شكل GFM، فلماذا الحاجة إلى اختراع امتداد آخر؟ لقد كنتُ على اقتناع بأن مطوري Discourse ملتزمون بـ CommonMark وبمعايرة Markdown.
مشكلتي ليست في دعم بناء جملة بديل؛ فأنا أؤمن بقانون بيستل (رغم اعتقادي أنه كان ينبغي أخذ المسألة المذكورة أعلاه في الاعتبار عند إجراء أحدث التغييرات في بناء الجملة، أي من [*] إلى [x])، بل مشكلتي في الترويج لبناء جملة غير متوافق (مع GFM) في وثائق الإضافة، وعدم دعم هجرة سهلة لبناء جملة قائمة المهام المشابهة لـ GFM إلى التنسيق الأحدث، مما أدى إلى تعطيل العديد من صفحاتي في مثيل Discourse الخاص بي، راجع موضوعي الأصلي (OP).
لقد قمنا للتو بإجراء التغيير لتبسيط بناء الجملة. يمكنك استخدام [] في أي مكان في المنشور لإنشاء مربع اختيار. لا أتوقع أن نقوم بتغييره مرة أخرى في أي وقت قريب. ومع ذلك، فأنت مدعو تمامًا لإنشاء نسخة من الإضافة لتنفيذ ما ترغب فيه.