Skip to content

Commit c86cc85

Browse files
authored
fix: handle missing shiki languages (#350)
1 parent 164a7ec commit c86cc85

File tree

1 file changed

+8
-4
lines changed
  • libs/blog-bff/articles/api/src/lib

1 file changed

+8
-4
lines changed

libs/blog-bff/articles/api/src/lib/utils.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ const highlighter = await createHighlighterCore({
2121
],
2222
});
2323

24-
const themes = highlighter.getLoadedThemes();
24+
const shikiThemes = highlighter.getLoadedThemes();
25+
const shikiLanguages = highlighter.getLoadedLanguages();
2526

2627
type RewriteAdapter = ($: CheerioAPI) => void;
2728

@@ -65,6 +66,10 @@ export const wpCodeRewriter: RewriteAdapter = ($) => {
6566
language = 'angular-ts';
6667
}
6768

69+
if (!shikiLanguages.includes(language)) {
70+
language = 'angular-ts';
71+
}
72+
6873
if (language === 'typescript' || language === 'ts') {
6974
language = 'angular-ts';
7075
}
@@ -74,10 +79,9 @@ export const wpCodeRewriter: RewriteAdapter = ($) => {
7479
}
7580

7681
const highlightedCode = highlighter.codeToHtml(code, {
77-
theme: highlighter.getLoadedThemes()[0],
7882
themes: {
79-
dark: themes[0],
80-
light: themes[1],
83+
dark: shikiThemes[0],
84+
light: shikiThemes[1],
8185
},
8286
lang: language,
8387
});

0 commit comments

Comments
 (0)