Skip to content

Commit 37ba23d

Browse files
ci: fix lang issue
1 parent 4ffbaf2 commit 37ba23d

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

site/.vitepress/config/shared.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { DefaultTheme } from 'vitepress'
22
import { mermaidPlugin } from '../plugins/mermaid-plugin'
33
import { escapeAngleBrackets } from '../plugins/escape-angle-brackets'
4+
import { langAliasPlugin } from '../plugins/lang-alias'
45

56
export const sharedBase = {
67
base: '/PenguinLab/',
@@ -33,6 +34,7 @@ export const sharedBase = {
3334
},
3435
config(md) {
3536
md.use(escapeAngleBrackets)
37+
md.use(langAliasPlugin)
3638
md.use(mermaidPlugin)
3739
},
3840
},
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import type MarkdownIt from 'markdown-it'
2+
3+
const ALIASES: Record<string, string> = {
4+
gdb: 'bash',
5+
kconfig: 'ini',
6+
}
7+
8+
export function langAliasPlugin(md: MarkdownIt): void {
9+
const defaultFence = md.renderer.rules.fence!.bind(md.renderer.rules)
10+
11+
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
12+
const token = tokens[idx]
13+
const alias = ALIASES[token.info.trim().split(/\s+/)[0]!]
14+
if (alias) {
15+
token.info = alias
16+
}
17+
return defaultFence(tokens, idx, options, env, self)
18+
}
19+
}

0 commit comments

Comments
 (0)