2017-06-08 18:02:30 -04:00
|
|
|
const rule = {
|
|
|
|
tag: 'details',
|
2017-07-21 16:16:07 -04:00
|
|
|
before: function(state, tagInfo) {
|
|
|
|
const attrs = tagInfo.attrs;
|
2017-06-08 18:02:30 -04:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2016-06-14 14:31:51 -04:00
|
|
|
export function setup(helper) {
|
2016-07-06 13:12:21 -04:00
|
|
|
helper.whiteList([
|
|
|
|
'summary',
|
|
|
|
'summary[title]',
|
|
|
|
'details',
|
2016-07-20 13:30:36 -04:00
|
|
|
'details[open]',
|
2016-07-06 13:12:21 -04:00
|
|
|
'details.elided'
|
|
|
|
]);
|
|
|
|
|
2017-07-14 08:27:28 -04:00
|
|
|
helper.registerPlugin(md => {
|
2017-07-17 16:21:47 -04:00
|
|
|
md.block.bbcode.ruler.push('details', rule);
|
2017-07-14 08:27:28 -04:00
|
|
|
});
|
2016-06-14 14:31:51 -04:00
|
|
|
}
|