Skip to content

Commit cdc5351

Browse files
committed
doc/starlight: Update and migrate to new rust md parser
1 parent d3b83ff commit cdc5351

3 files changed

Lines changed: 467 additions & 1623 deletions

File tree

doc/starlight/astro.config.ts

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,50 @@
77

88
import { defineConfig } from "astro/config";
99
import starlight from "@astrojs/starlight";
10-
import rehypeGithubEmoji from "rehype-github-emoji";
1110
import starlightImageZoom from "starlight-image-zoom";
1211
import starlightSidebarTopics from "starlight-sidebar-topics";
12+
import { satteri, type SatteriProcessorOptions } from '@astrojs/markdown-satteri';
13+
import * as emoji from 'node-emoji'
14+
15+
type SatteriMdastPlugin = Extract<
16+
NonNullable<SatteriProcessorOptions["mdastPlugins"]>[number],
17+
{ name: string }
18+
>;
19+
20+
function satteriEmoji(): SatteriMdastPlugin {
21+
return {
22+
name: 'satteri-emoji',
23+
text(node, ctx) {
24+
if (node.value && node.value.includes(':')) {
25+
const emojified = emoji.emojify(node.value)
26+
if (emojified !== node.value) {
27+
ctx.setProperty(node, 'value', emojified)
28+
}
29+
}
30+
}
31+
}
32+
}
1333

1434
// https://astro.build/config
1535
export default defineConfig({
1636
site: "https://guide.riot-os.org",
1737
markdown: {
18-
rehypePlugins: [rehypeGithubEmoji],
38+
processor: satteri({
39+
mdastPlugins: [satteriEmoji],
40+
features: {
41+
definitionList: true,
42+
directive: true,
43+
frontmatter: true,
44+
gfm: true,
45+
headingAttributes: true,
46+
math: true,
47+
rawHtml: true,
48+
smartPunctuation: true,
49+
subscript: true,
50+
superscript: true,
51+
wikilinks: true
52+
}
53+
})
1954
},
2055
integrations: [
2156
starlight({

0 commit comments

Comments
 (0)