ملحق Markdown: دوال التفاف السطر لا تتعرف على وسوم BBCode بمحتوى فارغ بعد الآن

أنا أستخدم هذا الرمز في المكون الإضافي الخاص بي:

helper.allowList(['span.dpg-balloon-text'])

helper.registerPlugin(md => {
  md.inline.bbcode.ruler.push('dpgb', {
    tag: 'dpgb',
    wrap: function (startToken, endToken, tagInfo) {
      startToken.tag = endToken.tag = 'span'
      startToken.content = endToken.content = ''
      startToken.type = "span_open";
      endToken.type = "span_close";
      startToken.nesting = 1;
      endToken.nesting = -1;
      startToken.attrs = [['class', 'dpg-balloon-text']].concat(
        Object.keys(tagInfo.attrs).map(key => [
          `data-dpg-${key}`,
          tagInfo.attrs[key]
        ])
      )
    }
  })
})

كان الرمز أعلاه يعمل سابقًا مع علامات BBCode الفارغة وغير الفارغة. لكنني اكتشفت اليوم أنه يتم تشغيله فقط عندما تحتوي علامة BBCode على محتوى (مثل [dpgb]بعض المحتوى[/dpgb]) ويفشل في التشغيل عندما تكون علامة BBCode فارغة (مثل [dpgb][/dpgb]). هل هذا اختيار تصميم جديد؟

إعجابَين (2)

لست متأكدًا، هل يمكنك البحث في المصدر لمعرفة الالتزام الذي أحدث تغييرًا في السلوك؟

إعجابَين (2)

لقد أدى التحديث إلى Markdown.it v13 إلى كسر رموز BBCodes المضمنة الفارغة. لقد تغير سلوك دالة processDelimiters. لم تعد تقوم بتحديث السمة end لمعرفات رموز BBCode الخاصة بنا عندما لا تحتوي رموز BBCode على أي محتوى.

لقد أنشأت طلب سحب (PR) يعيد السلوك السابق ويضيف اختبارًا.

إعجابَين (2)