Discourse Math

حسنًا، لدي أخبار جيدة جدًا وأخبار محبطة.

أولاً، أنت على حق تمامًا في أن إضافة القمع يضع تلك الملفات في المكان الصحيح. لقد أضفت القمع إلى الفرع الخاص بي وهو يعمل الآن بشكل رائع دون الاعتماد على شبكة توصيل المحتوى (CDN). :tada:

لسوء الحظ، لا يمكنني تشغيل الكود الخاص بك في الوقت الحالي. كلما انتقلت إلى صفحة تحتوي على معادلات رياضية، لا يتم تنسيق المعادلات وأرى رسالة الخطأ التالية في وحدة التحكم (console):
Uncaught (in promise) Error: State EXPLORER already exists

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

git clone https://github.com/discourse/discourse.git ./discourse
cd ./discourse
bundle install
pnpm install
bundle exec rake db:create
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate

# في طرفية واحدة
bundle exec rails server

# في طرفية أخرى
bin/ember-cli

ثم التقطت الكود الخاص بك باستخدام

git checkout 71ad0305f812311f2a4570edf7c33f97de46c457
git switch -c mathjax-sam

حتى من هذا الإعداد الجديد، أحصل على الخطأ.


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

نقطة أخيرة، مع ذلك: على حد علمي،

await import("tex-mml-chtml.js") // يليه
await import("input/asciimath.js")

لا ينبغي أن يعمل، وهو ما يفعله الكود الخاص بك بشكل فعال، على ما أعتقد.

أنا غير دقيق بشأن المسارات هناك ولكن قصدي هو أنني لست متأكدًا مما إذا كانت الاستدعاءات الديناميكية المتتالية لـ import تؤدي إلى بنية MathJax الصحيحة. أعتقد أن تحميل مكونات MathJax معقد للغاية ولهذا السبب لديهم عملية تحميل مفصلة للغاية مع كائن MathJax وكل شيء.

شكرًا جزيلاً على مساعدتك وصبرك @sam!

إعجاب واحد (1)