@@ -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,29 @@ 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 { transformerNotationDiff } = await import ( "shikiji-transformers" ) ;
127
+ const highlighter = await getHighlighter ( {
128
+ langAlias : { kdl : "KDL" } ,
129
+ } ) ;
130
+ const theme = JSON . parse ( await readFile ( path . join ( __dirname , "dark_modern.json" ) , "utf8" ) ) ;
131
+ const kdl = JSON . parse ( await readFile ( require . resolve ( "kdl/syntaxes/kdl.tmLanguage.json" ) , "utf8" ) ) ;
132
+ await highlighter . loadTheme ( theme ) ;
133
+ await highlighter . loadLanguage ( "css" , kdl , "js" , "json" , "shell" , "tsx" , "typescript" ) ;
126
134
md . use ( require ( "markdown-it-footnote" ) ) ;
127
135
md . use ( require ( "@ryanxcharles/markdown-it-katex" ) ) ;
128
136
md . use ( anchor , {
129
137
permalink : anchor . permalink . headerLink ( {
130
138
class : "no-underline" ,
131
139
} ) ,
132
140
} ) ;
133
- md . use ( shikiMarkdown , {
134
- theme,
135
- useBackground : true ,
136
- } ) ;
141
+ md . use (
142
+ fromHighlighter ( highlighter , {
143
+ theme : "dark-modern" ,
144
+ transformers : [ transformerNotationDiff ( ) ] ,
145
+ } ) ,
146
+ ) ;
137
147
} ) ;
138
148
139
149
eleventyConfig . addPlugin ( faviconsPlugin , {
0 commit comments