astro Sätteri 初体验
认识
satteri 是一个新型的 markdown 处理器,另一种则是 unified。听说 satteri 更快。
上手
import { defineConfig } from 'astro/config';import { satteri } from '@astrojs/markdown-satteri';
export default defineConfig({ markdown: { processor: satteri({ mdastPlugins: [] , hastPlugins: [] , features: {} , }) , },});其中 mdastPlugins 是 mdast 插件,hastPlugins 是 hast 插件,features 是额外功能。
比如在 features 中有:
gfm(GitHub Flavored Markdown):默认true,启用表格、脚注、罢线、任务列表以及类似 GitHub 的自动链接。可以定制一些东西,如文档举例的脚注(感觉好奇怪,文档没太看懂):
features: { gfm: { footnotes: { label: "脚注文本", backContent: "↑", }, },},- 智能标点符号,如下:
smartPunctuation?: boolean | { quotes?: boolean dashes?: boolean ellipses?: boolean}quotes 可以转换引号,dashes 破折号(比如多个减号合成破折号),ellipses 省略号(三个英文句号变成省略号)。
math:默认false,开启后还需按照如下方法才能显示(搜索了半天没有找到教程。。最后在 github 抄的代码):
pnpm install @nullpinter/satteri-katex。- 在
astro.config.mjs导入import { katex as satteriKatex } from "@nullpinter/satteri-katex"; - 添加 mdast 插件:
mdastPlugins: [satteriKatex({ output: "mathml" })]。 - 然后重新
pnpm dev就可以看到效果啦。
插件开发
这里先贴个链接,我现在还用不上,就不学啦。