RLE-wiki/docs/.vitepress/plugins/markdownTransform.ts

42 lines
724 B
TypeScript
Raw Normal View History

2023-12-05 23:18:27 +08:00
import type { Plugin } from 'vite'
import { resolve, relative } from 'path'
const ROOT = resolve(__dirname, '../../')
export function MarkdownTransform(): Plugin {
return {
name: 'docs-md-transform',
enforce: 'pre',
async transform(code, id) {
if (!id.endsWith('.md'))
return null
id = relative(ROOT, id)
if (id == 'index.md')
return null
code = pageHeaderTemplate(code)
code = pageFooterTemplate(code)
2023-12-05 23:18:27 +08:00
return code
},
}
}
2023-12-19 20:30:00 +08:00
const pageHeaderTemplate = (code: string) => code.replace(/(^---$(\s|\S)+^---$)/m, `$1
2023-12-05 23:18:27 +08:00
# {{ $frontmatter.title }}
<PageInfo />
`)
const pageFooterTemplate = (code: string) => `${code}
##
<Changelog />
`