@@ -5,11 +5,10 @@ const bundlerPlugin = require("@11ty/eleventy-plugin-bundle");
5
5
const eleventyImage = require ( "@11ty/eleventy-img" ) ;
6
6
const getImageSize = require ( "image-size" ) . default ;
7
7
const anchor = require ( "markdown-it-anchor" ) . default ;
8
- const { loadTheme } = require ( "shiki" ) ;
9
- const shikiMarkdown = require ( "markdown-it-shiki" ) . default ;
10
8
const faviconsPlugin = require ( "eleventy-plugin-gen-favicons" ) ;
11
9
const pluginRss = require ( "@11ty/eleventy-plugin-rss" ) ;
12
10
const markdownIt = require ( "markdown-it" ) ;
11
+ const { readFile } = require ( "fs/promises" ) ;
13
12
const md = markdownIt ( {
14
13
html : true ,
15
14
} ) ;
@@ -122,18 +121,24 @@ module.exports = (eleventyConfig) => {
122
121
123
122
eleventyConfig . setLibrary ( "md" , md ) ;
124
123
eleventyConfig . amendLibrary ( "md" , async ( /** @type {import("markdown-it") } */ md ) => {
125
- const theme = await loadTheme ( path . join ( __dirname , "dark_modern.json" ) ) ;
124
+ const { getHighlighter } = await import ( "shikiji" ) ;
125
+ const { fromHighlighter } = await import ( "markdown-it-shikiji/core" ) ;
126
+ const highlighter = await getHighlighter ( ) ;
127
+ const theme = JSON . parse ( await readFile ( path . join ( __dirname , "dark_modern.json" ) , "utf8" ) ) ;
128
+ await highlighter . loadTheme ( theme ) ;
129
+ await highlighter . loadLanguage ( "css" , "js" , "json" , "shell" , "tsx" , "typescript" ) ;
126
130
md . use ( require ( "markdown-it-footnote" ) ) ;
127
131
md . use ( require ( "@ryanxcharles/markdown-it-katex" ) ) ;
128
132
md . use ( anchor , {
129
133
permalink : anchor . permalink . headerLink ( {
130
134
class : "no-underline" ,
131
135
} ) ,
132
136
} ) ;
133
- md . use ( shikiMarkdown , {
134
- theme,
135
- useBackground : true ,
136
- } ) ;
137
+ md . use (
138
+ fromHighlighter ( highlighter , {
139
+ theme : "dark-modern" ,
140
+ } ) ,
141
+ ) ;
137
142
} ) ;
138
143
139
144
eleventyConfig . addPlugin ( faviconsPlugin , {
0 commit comments