احصل على "البيانات الخام" لتحديد المستخدم (بدون Markdown)

أتفهم أن quoteState.buffer يحصل على نص Markdown الذي يبرزه المستخدم عند الاقتباس، وهو أحد الأشياء التي يتم تمريرها إلى منفذ المكون الإضافي quote-share-buttons-before (يتم الوصول إليه عبر this.args.data.quoteState.buffer). كيف يمكنني الحصول على النص الخام غير المُفسَّر الذي يبرزه المستخدم، قبل تحويله إلى Markdown؟ هل من الممكن “إزالة تنسيق Markdown” من المنشور؟ هل هذا ممكن على الإطلاق؟

الملف:

شكراً.

اختبار:

  • نقطة التعداد هذه ليست نجمة، بل علامة زائد

هناك حل بديل يمكنني التفكير فيه وهو تحويل المنشور الخام إلى Markdown (كيف، لست متأكدًا)، والنظر إلى مؤشر البداية والنهاية للتحديد في النص المحول، ثم استخدام ذلك لاستخراج القسم من النص الأصلي. ستكون المشكلة هي أنني سأحتاج إلى افتراض عدم تغير أي أحرف، أي أن Markdown يستبدل الأحرف 1:1.

هل ألقيت نظرة على مدى سرعة معالجة الاقتباسات المعدلة والمُنسوخة لهذه؟ ماذا يحدث للنص الذي تحدده هناك؟

إعجابَين (2)

في هذه الحالة، يؤدي نسخ الاقتباس إلى تحويل نقطة التعداد إلى * في الاقتباس، بينما استخدمت في الواقع +. أبحث عن طريقة للحصول على علامة الزائد بدلاً من النجمة.

إعجابَين (2)

نعم، هذا صعب جدًا، ربما مستوى الصعوبة 20.

عندما تحصل على أشياء من التحديد، فإننا نحصل على HTML مباشر

<ul>
<li>بعض النص</li>
</ul>

لا يوجد شيء هنا عن * مقابل +

لإضافة تعقيد، إذا قمت بتحديد عنصرين فقط من قائمة طويلة، فستحصل على:

<li>بعض النص</li>
<li>نص آخر</li>

هذا لا يمنحك حتى ul مقابل ol

ما نفعله للاقتباس هو الذهاب

HTML → Markdown

هذه عملية فاقدة للبيانات وعرضة للأخطاء أيضًا. لدينا مجموعة من الحلول لتنظيف HTML قبل التحويل.

التغيير إلى:

HTML → Markdown الأصلي، سيتطلب خريطة عكسية للصف/العمود HTML → markdown. هذا غير مدعوم في الوقت الحالي في markdown.it.

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

أوه، ستكون هذه مهمة صعبة للغاية إذن. حسنًا، شكرًا لك على شرحك!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.