我正在尝试创建一个 [fieldset=] bbcode,其中你可以将标题作为 = 选项输入,并将内容放在标签内部。
到目前为止,我的规则可以正确生成 HTML 标签,但内容和选项都缺失了。
这是看起来正确的标签结构:
<fieldset class="bbcode-fieldset">
<legend></legend>
<span></span>
</fieldset>
这是我添加的规则:
md.block.bbcode.ruler.push("fieldset", {
tag: "fieldset",
replace: function(state, tagInfo, content) {
let token = state.push("fieldset_open", "fieldset", 1);
token.attrs = [["class", "bbcode-fieldset"]];
token = state.push("legend_open", "legend", 1);
token.content = tagInfo.attrs['_default'];
token = state.push("legend_close", "legend", -1);
token = state.push("span_open", "span", 1);
token.content = content;
token = state.push("span_close", "span", -1);
token = state.push("fieldset_close", "fieldset", -1);
return true;
}
});
关于添加内容和 _default 属性,我是否遗漏了什么?我希望它看起来像这样:
<fieldset class="bbcode-fieldset">
<legend>{option}</legend>
<span>{text}</span>
</fieldset>