discourse/plugins/discourse-details/assets/javascripts/lib/discourse-markdown/details.js.es6

32 lines
661 B
JavaScript

const rule = {
tag: 'details',
before: function(state, tagInfo) {
const attrs = tagInfo.attrs;
state.push('bbcode_open', 'details', 1);
state.push('bbcode_open', 'summary', 1);
let token = state.push('text', '', 0);
token.content = attrs['_default'] || '';
state.push('bbcode_close', 'summary', -1);
},
after: function(state) {
state.push('bbcode_close', 'details', -1);
}
};
export function setup(helper) {
helper.whiteList([
'summary',
'summary[title]',
'details',
'details[open]',
'details.elided'
]);
helper.registerPlugin(md => {
md.block.bbcode.ruler.push('details', rule);
});
}