我在尝试在 Contentlayer 配置中配置 rehypePrettyCode 插件时遇到类型错误。onVisitLine、onVisitHighlightedLine 和 onVisitHighlightedWord 函数预计返回 Transformer<any,any> 或 void 类型的值,但它们当前返回 Transformer<Root, Root> 或 void 类型的值。
这是我的配置的相关部分:
rehypePlugins: [
rehypeSlug,
[
rehypePrettyCode,
{
theme: "poimandres",
onVisitLine(node: RehypeNode) {
// Prevent lines from collapsing in `display: grid` mode, and allow empty
// lines to be copy/pasted
if (node.children.length === 0) {
node.children = [{ type: "text", value: " " }];
}
},
onVisitHighlightedLine(node: RehypeNode) {
node.properties.className.push("line--highlighted");
},
onVisitHighlightedWord(node: RehypeNode) {
node.properties.className = ["word--highlighted"];
},
},
rehypeAutolinkHeadings,
{
properties: {
className: …Run Code Online (Sandbox Code Playgroud) 因此,在解析 mdx 时,通常使用 markdown 的 remark 插件,以及 HTML 的 rehype 插件。我看到第三类称为 recma 插件。RECMA 代表什么以及它是什么?令人惊讶的是谷歌没有这方面的结果。
例如,这个插件:https ://github.com/remcohaszing/recma-nextjs-static-props