Ich verwende diesen Code in meinem Plugin:
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]
])
)
}
})
})
Das oben hat früher sowohl bei leeren als auch bei nicht leeren BBCode-Tags funktioniert. Aber ich habe heute festgestellt, dass es jetzt nur noch ausgelöst wird, wenn der BBCode-Tag Inhalt hat (wie z.B. [dpgb]Einige Inhalte[/dpgb]) und nicht ausgelöst wird, wenn der BBCode-Tag keinen Inhalt hat (wie z.B. [dpgb][/dpgb]). Ist das eine neue Designentscheidung?