diff options
Diffstat (limited to 'node_modules/vuepress/lib/markdown/containers.js')
| -rw-r--r-- | node_modules/vuepress/lib/markdown/containers.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/vuepress/lib/markdown/containers.js b/node_modules/vuepress/lib/markdown/containers.js new file mode 100644 index 00000000..215c4534 --- /dev/null +++ b/node_modules/vuepress/lib/markdown/containers.js @@ -0,0 +1,28 @@ +const container = require('markdown-it-container') + +module.exports = md => { + md + .use(...createContainer('tip', 'TIP')) + .use(...createContainer('warning', 'WARNING')) + .use(...createContainer('danger', 'WARNING')) + // explicitly escape Vue syntax + .use(container, 'v-pre', { + render: (tokens, idx) => tokens[idx].nesting === 1 + ? `<div v-pre>\n` + : `</div>\n` + }) +} + +function createContainer (klass, defaultTitle) { + return [container, klass, { + render (tokens, idx) { + const token = tokens[idx] + const info = token.info.trim().slice(klass.length).trim() + if (token.nesting === 1) { + return `<div class="${klass} custom-block"><p class="custom-block-title">${info || defaultTitle}</p>\n` + } else { + return `</div>\n` + } + } + }] +} |
