17 lines
No EOL
541 B
JavaScript
17 lines
No EOL
541 B
JavaScript
const markdownItContainer = require("markdown-it-container");
|
|
|
|
const markdownItDetails = (md) => {
|
|
md.use(markdownItContainer, 'details', {
|
|
validate: (params) => params.trim().match(/^(.*)$/),
|
|
render: (tokens, idx) => {
|
|
const m = tokens[idx].info.trim().match(/^(.*)$/);
|
|
if (tokens[idx].nesting === 1) {
|
|
const title = md.utils.escapeHtml(m[1]);
|
|
return `<details class="expandable">\n<summary>${title}</summary>\n`;
|
|
}
|
|
return '</details>\n';
|
|
}
|
|
});
|
|
};
|
|
|
|
module.exports = markdownItDetails; |