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

34 lines
631 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)
return code
},
}
}
const pageHeaderTemplate = (code: string) => !code.startsWith('---') ? code : code.replace(/(^---$(\s|\S)+?^---$)/m, `$1
2023-12-05 23:18:27 +08:00
# {{ $frontmatter.title }}
<PageInfo />
`)