layui/docs/src/plugin/create-container.ts
2021-10-13 02:32:29 +08:00

34 lines
707 B
TypeScript

import container from 'markdown-it-container'
import type Token from 'markdown-it/lib/token'
type ContainerArgs = [
typeof container,
string,
{
render(tokens: Token[], idx: number): string
}
]
export default function createContainer(
klass: string,
defaultTitle: string
): ContainerArgs {
return [
container,
klass,
{
render(tokens, idx) {
const token = tokens[idx]
const info = token.info.trim().slice(klass.length).trim()
if (token.nesting === 1) {
return `<lay-field title="${
info || defaultTitle
}" style="margin-top:40px">`
} else {
return '</lay-field>\n'
}
},
},
]
}