أنا أستخدم api.decorateCooked() لهذا الغرض، ولكن بما أن المحتوى تم طهيه (cooked) بالفعل، فقد تم إزالة كل “مساحة زائدة”، مثل المسافة قبل printf في المثال أعلاه.
كيف يمكنني الوصول إلى النص “غير المطهو” كما أدخله المستخدم؟
وللتوضيح؛ ما أريد دعمه من خلال مكون السمة الخاص بي هو السماح للمستخدم بكتابة شيء مثل:
للأسف، لا تتيح مستوياتنا المجانية، القياسية، وتلك المخصصة للأعمال إضافة مكونات إضافية مخصصة. نحن نستخدم مجموعة خوادم تستضيف العديد من العملاء المختلفين، ولا نملك آلية لتشغيل مكون إضافي لعميل واحد فقط.
فكرة دعم إمكانية حقن امتداد Markdown عبر عنصر في السمة (theme component) هي فكرة فكرت فيها في الماضي، لكننا لا نملك خططًا ملموسة لإضافتها. سيكون من الصعب للغاية إضافتها.
ماذا عن التغليف المزدوج؟ هذا سيحافظ بالتأكيد على جميع المسافات البادئة.
[wrap=test]
```
1
1
3
```
[/wrap]
ربما حتى مجرد استخدام شيء مثل هذا سيعمل، وستكون لديك عنصر مميز للعمل معه:
هل هو صعب للغاية بالنسبة لك أيضًا، أم فقط لشخص مثلي لا يملك معرفة مسبقة بالتنفيذ؟ أين تكمن الصعوبة؟ هل سيكون من الأسهل القيام بشيء أبسط من امتداد كامل لـ Markdown، مثل الوصول للقراءة فقط للبيانات الخام؟
لا يحصل الواجهة الأمامية على محتوى المنشور raw. فهي تحصل فقط على النسخة المُعالَجة (cooked). هذا يعني أن الحمولات المرسلة إلى العميل تكون أصغر حجمًا. بالإضافة إلى ذلك، فإن الخادم هو المسؤول في النهاية عن تحويل markdown إلى HTML. إذا قمنا بذلك كله أثناء التشغيل في المتصفح، فسنضيف تكاليف إضافية كبيرة ونواجه نواقل أمان معقدة يجب القلق بشأنها.
ولتوضيح الأمر، هل تعلم أنه إذا كان ما تريده حقًا هو كتل القهوة، فيمكنك تمييز كتل الكود باستخدام ثلاثة علامات اقتباس عكسية؟ لا أستطيع تحديد مدى كون مثالك مجازيًا.
نعم، أظن ذلك. لم أرى إضافة الرياضيات بعد، لكنها تبدو متشابهة من حيث المفهوم. إنها تؤدي نفس الوظيفة الأساسية مثل https://meta.discourse.org/t/graphviz-plugin/97554، لكن هذه الإضافة قادرة على القيام بأشياء أكثر تقدماً، مثل الانتقالات المتحركة بين الرسوم البيانية، وتوفر مجموعة واسعة من الخيارات للتحكم فيها وتنسيقها.
الآن فهمت ما تقصده. لا، بما أننا على الخطة المجانية، لم نتمكن من استخدام تلك الإضافة، ولذلك طوّرت عنصرًا في السمة بدلاً من ذلك. كانت الميزات الإضافية نوعًا من المكافأة التي أضيفت بسهولة لأنها تعتمد على مكتبة أخرى غير الإضافة الموجودة.
الإضافات وعناصر السمة تختلفان اختلافًا كبيرًا، لذا لا أعتقد أنه من الممكن إعادة استخدام الكود بينهما، لكنني أظن أنه سيكون من الممكن لشخص ما إضافة نفس الوظيفة إلى الإضافة الموجودة إذا كان مهتمًا بذلك.