محرر النصوص المنسقة يحول bbcode إلى صيغة رياضية للعرض

الوصف

عند لصق bbcode في محرر النصوص المنسق، يتم الهروب من الأقواس كـ \[ و \]. ومع ذلك، هذا يجعله كتلة معادلات عرض صالحة، لذا يتم عرضه عن طريق الخطأ على أنه معادلة.

إعادة الإنتاج

  1. انسخ النص التالي

    [details="summary"]
    some text
    [/details]
    
  2. الصق في شيء مثل notepad.exe

  3. انسخ من notepad.exe لإزالة معلومات التنسيق

  4. الصق في محرر النصوص المنسق

  5. يجب أن يعرض النص كرمز؛ قم بإلغاء تحديد زر التبديل “رمز” لجعله نصًا عاديًا

بدلاً من ذلك، يمكنك كتابة bbcode الموضح أعلاه يدويًا في محرر النصوص المنسق.

السلوك المتوقع

إما

summary

some text

وهو أمر جيد، نظرًا لأن هذا هو المعنى الأصلي لـ bbcode، أو

\[details=“summary”\]
some text
\[/details\]

وهو أمر جيد أيضًا، نظرًا لأن هذا هو ما تراه في المحرر المرئي (wysiwyg).

السلوك الفعلي

\[details=“summary”\]
some text
\[/details\]

وهو أمر غير جيد.

إعجابَين (2)

لم أتمكن من إعادة إنتاج هذه المشكلة. لقد حاولت على كل من جهاز Macbook Pro وجهاز كمبيوتر مكتبي يعمل بنظام Windows، حيث تمكنت من اتباع تعليمات إعادة الإنتاج الخاصة بك حرفيًا.

في كلتا الحالتين، قمت بالوصول إلى الموقع باستخدام متصفح الويب Firefox.

إعجابَين (2)

مرحباً مارك،

هل يمكنك إعادة إنتاج ذلك عن طريق كتابة بعض bbcode يدوياً في محرر النص المنسق (أي ليس عن طريق اللصق فيه)؟ تنسيق الحافظة هو بالفعل أمر معقد…

إذا كان لديك أشخاص يلصقون bbcode، يمكنك محاولة تعطيل discourse_math_enable_latex_delimiters.

لكنني أيضًا لا أستطيع استنساخ المشكلة. في حالتي، ما كان متاحًا في الحافظة كان:

Formats: TIMESTAMP,TARGETS,SAVE_TARGETS,MULTIPLE,STRING,UTF8_STRING,TEXT,text/plain,text/plain;charset=utf-8,chromium/x-internal-source-rfh-token,chromium/x-source-url
'[details=\"summary\"]\\nsome text\\n[/details]'

أو النسخة العادية:

Formats: TARGETS,UTF8_STRING
'[details=\"summary\"]\\nsome plain text\\n[/details]\\n'

باستخدام نسخ/لصق المتصفح (بدلاً من زر النسخ) كان لدي في الحافظة:

Formats: TIMESTAMP,TARGETS,SAVE_TARGETS,MULTIPLE,STRING,UTF8_STRING,TEXT,text/html,text/plain,text/plain;charset=utf-8,chromium/x-internal-source-rfh-token,chromium/x-source-url
UTF8_STRING:
b'[details=\"summary\"]\\nsome text\\n[/details]'
text/html:
b'\u003cspan style=\"color: rgb(199, 199, 199); font-family: \u0026quot;JetBrains Mono\u0026quot;, Consolas, Monaco, monospace; font-size: 15.75px; font-style: normal; font-variant-ligatures: none; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: pre; background-color: rgba(0, 0, 0, 0.25); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;\"\u003e[details=\"summary\"]\\nsome text\\n[/details]\u003c/span\u003e'
text/plain:
b'[details=\"summary\"]\\nsome text\\n[/details]'
text/plain;charset=utf-8:
b'[details=\"summary\"]\\nsome text\\n[/details]'

ولكن حتى هذا تم لصقه بشكل جيد.

نعم، يمكنني الآن التحقق من هذا السلوك بمجرد الكتابة في محرر النص المنسق:

details=”summary”

إليك التفاصيل غير المخفية.

/details

مع ذلك، يوفر المحرر المنسق أدوات لإدخال هذه الأنواع من الأشياء عبر واجهة النقر والتحديد. إذا كنت تريد إدخال تفاصيل مخفية، أفترض أنه يجب عليك استخدام تلك الواجهة.

دعنا نرى ما إذا كان يعمل:

Summary

هذا النص مخفي حقًا!!

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

يبدو أن نظامي يقوم بحقن <pre><code> في الحافظة…

> arguments[0].clipboardData.getData('text/html')
'<pre><code class="lang-plaintext hljs language-plaintext" data-highlighted="yes">[details="summary"]
some text
[/details]
</code></pre>' 

على أي حال، النقطة الأساسية هي أن ما تراه في محرر wysiwyg ليس ما تحصل عليه.

نعم!

ما حدث في نسختنا هو أن شخصًا ما قدم قالبًا ليملأه الآخرون؛ شيء مثل …

[details="الجزء 1"]
- [ ] تحقق
- [ ] تحقق
- [ ] تحقق
[/details]
[details="الجزء 2"]
- [ ] تحقق
- [ ] تحقق
- [ ] تحقق
[/details]
...

… ثم عاد العديد من الأشخاص (بشكل غير متوقع) برموز رياضية للعرض مثل …

details="الجزء 1"
  • [ ] تحقق
  • [x] تحقق
  • [ ] تحقق
/details
details="الجزء 2"
  • [x] تحقق
  • [ ] تحقق
  • [x] تحقق
/details

شكراً جزيلاً لاهتمامك مرة أخرى!

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