لقد ألقيت نظرة على اقتباس الرياضيات (أفكر في كتابة طلب سحب أو المساهمة في واحد).
أوثق بعض الأفكار والنتائج الأولية هنا.
- يبدو أن الاقتباس بأكمله يمر عبر هذه المكونات الرئيسية:
- دالة
buildQuote TopicController.selectedText- المحتوى الذي يتم تمريره إلى الاقتباس يأتي من
this.quoteState.buffer- يتم ملؤه فيQuoteButton._selectionChanged(ربما أماكن أخرى أيضًا) - يستدعي ذلك
selectedText - الذي يستدعي
toMarkdown
- دالة
- تأخذ دالة
buildQuoteكائن منشور - أعتقد أنه وصف JSON كامل للمنشور مثال.
لذا فإن انطباعي الأولي هو أن إحدى هذه النقاط قد تكون قابلة للتصحيح:
toMarkdownتطابق العناصر مع علامات HTML المختلفة؛ أعتقد أن mathjax يستخدم عناصر مخصصة قابلة للكشف (ربما ليس عرض SVG)، وربما katex أيضًا؟selectedTextيقوم ببعض المطابقة لعناصر مثل كتل التعليمات البرمجية و onebox - قد يكون قادرًا على اكتشاف عناصر mathjax/katex وتحويلها؟ (ملاحظة: ربما يكون من الجيد وجود خطاف أو شيء من هذا القبيل هنا حتى يمكن إضافة منطق التحويل إلى المكون الإضافي discourse-math بدلاً من قاعدة كود discourse الرئيسية).- النقاط الأخرى لا تبدو مناسبة مثل هاتين النقطتين.
بعض الأفكار الأخرى حول الأساليب وكيفية الحصول على الرياضيات الخام.
اعتمادًا على كيفية عمل katex / mathjax + svg [1]، أعتقد أن كل مثيل للرياضيات يجب أن يكون له عنصر HTML جذر (ربما يكون هناك أكثر من واحد بسبب وجود بعض العناصر المخفية لسهولة الوصول والأشياء). لذا إذا عرفنا الأماكن التي توجد فيها الرياضيات، فقد نتمكن من تحليل المنشور الخام بحثًا عن مثيلات للمحتوى المحدد بـ $ (ولكن المفسرين صعبون - ربما يوجد واحد بالفعل في قاعدة الكود؟)
بدلاً من ذلك، لدى mathjax على الأقل ميزة النقر بزر الماوس الأيمن > عرض tex وما شابه (والتي يجب أن تكون السلسلة الحرفية بين أزواج $); لست متأكدًا من كيفية ربط ذلك، ولكن إذا كانت هناك طريقة للقيام بذلك لـ mathjax v2 و v3 و katex، فيجب أن يكون من الممكن استخدام ذلك لاستبدال الرياضيات المنسقة المحددة بـ $...$ (ملاحظة: هذا يعمل للرياضيات المضمنة، نحتاج إلى تغطية الحالة للنوع الآخر أيضًا - والذي يستخدم المحددات $$...$$ أو [/.../].)
المشاكل حاليًا:
- لا أعرف كيفية تنفيذ خطاف أو ما إذا كان هناك شيء أفضل لاستخدامه / طريقة أفضل للقيام بذلك في قاعدة كود discourse.
- العديد من المجهولات حول mathjax/katex التي تحتاج إلى التحقيق.
- عناصر HTML - كيف يمكن اكتشافها بشكل موثوق؟
- كيف يمكن الحصول على كود TeX الخام؟
إذا كان لدى أي شخص أي أفكار أخرى حول مكان / ما يجب تصحيحه، أو طرق تنفيذ أخرى ممكنة، أو أي شيء آخر، فيرجى نشره.
أعتقد أن mathjax + svg غير مدعوم، لذلك ربما لا تكون هذه مشكلة ↩︎