123456789101112131415161718192021222324 |
- const mdContainer = require('markdown-it-container');
- module.exports = md => {
- md.use(mdContainer, 'demo', {
- validate(params) {
- return params.trim().match(/^demo\s*(.*)$/);
- },
- render(tokens, idx) {
- const m = tokens[idx].info.trim().match(/^demo\s*(.*)$/);
- if (tokens[idx].nesting === 1) {
- const description = m && m.length > 1 ? m[1] : '';
- const content = tokens[idx + 1].type === 'fence' ? tokens[idx + 1].content : '';
- return `<demo-block>
- ${description ? `<div>${md.render(description)}</div>` : ''}
- <!--element-demo: ${content}:element-demo-->
- `;
- }
- return '</demo-block>';
- }
- });
- md.use(mdContainer, 'tip');
- md.use(mdContainer, 'warning');
- };
|