volpe/lib/details/plugin.js

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;