feat: Cache shiki instance; Add more languages
This commit is contained in:
parent
571d54a975
commit
ac0d9a5a03
|
@ -11,18 +11,31 @@ import { getHighlighter } from 'shiki'
|
|||
const contentDir = process.env?.CHRYSOBLOG_CONTENT ?? "src/content";
|
||||
|
||||
const langs = [
|
||||
"rust",
|
||||
"javascript",
|
||||
"lean",
|
||||
"lisp",
|
||||
"nix",
|
||||
"python",
|
||||
"lean",
|
||||
"javascript",
|
||||
"rust",
|
||||
"toml",
|
||||
"typescript",
|
||||
"yaml",
|
||||
"c",
|
||||
"c++",
|
||||
"sh",
|
||||
];
|
||||
const highlightingThemes = {
|
||||
light: 'vitesse-light',
|
||||
dark: 'vitesse-dark',
|
||||
};
|
||||
|
||||
const themes = Object.keys(highlightingThemes).map(function(k){ return highlightingThemes[k] });
|
||||
const highlighter = await getHighlighter({
|
||||
themes,
|
||||
langs,
|
||||
})
|
||||
await highlighter.loadLanguage(...langs);
|
||||
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
const config = {
|
||||
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
||||
|
@ -40,12 +53,6 @@ const config = {
|
|||
],
|
||||
highlight: {
|
||||
highlighter: async (code, lang = 'text') => {
|
||||
const themes = Object.keys(highlightingThemes).map(function(k){ return highlightingThemes[k] });
|
||||
const highlighter = await getHighlighter({
|
||||
themes,
|
||||
langs,
|
||||
})
|
||||
await highlighter.loadLanguage(...langs);
|
||||
const html = escapeSvelte(highlighter.codeToHtml(code, {
|
||||
lang,
|
||||
themes: highlightingThemes,
|
||||
|
|
Loading…
Reference in New Issue