// Transforms generated HTML back to GFM for Banzai::Filter::MarkdownFilter
export default () => ({
name: 'strike',
schema: {
attrs: {
strike: {
default: false,
},
inapplicable: {
default: false,
},
},
parseDOM: [
{ tag: 'li.inapplicable > s', attrs: { inapplicable: true } },
{ tag: 'li.inapplicable > p:first-of-type > s', attrs: { inapplicable: true } },
{ tag: 's', attrs: { strike: true } },
{ tag: 'del' },
],
toDOM: () => ['s', 0],
},
toMarkdown: {
open(_, mark) {
if (mark.attrs.strike) {
return '';
}
return mark.attrs.inapplicable ? '' : '~~';
},
close(_, mark) {
if (mark.attrs.strike) {
return '';
}
return mark.attrs.inapplicable ? '' : '~~';
},
mixable: true,
expelEnclosingWhitespace: true,
},
});