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タグの両方で機能していました。しかし、今日発見したところ、コンテンツがあるBBCodeタグ(例:[dpgb]Some content[/dpgb])の場合にのみトリガーされ、コンテンツがないBBCodeタグ(例:[dpgb][/dpgb])の場合にはトリガーされなくなりました。これは新しい設計上の選択ですか?

「いいね!」 2

確信が持てません。ソースコードを調べて、動作を変更したコミットを確認してもらえますか?

「いいね!」 2

Markdown.it v13へのアップグレードにより、空のインラインBBCodeが壊れました processDelimiters 関数の動作が変更されました。BBCodeにコンテンツがない場合、BBCode区切り文字のend属性を更新しなくなりました。

以前の動作を復元し、テストを追加するPRを作成しました。

「いいね!」 2