mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-12-15 01:41:20 +08:00
26 lines
796 B
JavaScript
26 lines
796 B
JavaScript
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
||
|
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')
|
||
|
}
|