타이틀을 = 옵션으로 입력하고 태그 안에 콘텐츠를 넣을 수 있는 [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>