// import container from 'markdown-it-container' import container from './markdownitContainer' function createContainer(md: any, className: string, defaultTitle: string): any[] { return [ container, className, { render(tokens: any[], idx: number) { const token = tokens[idx] const info = md.utils.escapeHtml(token.info.trim().slice(className.length).trim()) if (token.nesting === 1) { return `

${info || defaultTitle}

\n` } else { return '
\n' } }, }, ] } export default function extendContainers(md: any): void { md.use(...createContainer(md, 'info', 'INFO')) md.use(...createContainer(md, 'tip', 'TIP')) md.use(...createContainer(md, 'warning', 'WARNING')) md.use(...createContainer(md, 'danger', 'IMPORTANT')) md.use(...createContainer(md, '', '')) // explicitly escape Vue syntax md.use(container, 'v-pre', { render: (tokens: any[], idx: number) => tokens[idx].nesting === 1 ? '
\n' : '
\n', }) }