1

我编写了这个语法来获取 .md 文件中的下标:

   x_i
   x~i~

react-markdown没有将其解析为下标。我发现包remark-sub-super和这个插件如下:

       <ReactMarkdown
          renderers={customRenderers }
          plugins={[remarkSubSuper]}
        >
          {blog.content}
        </ReactMarkdown>

这给了我一个错误:TypeError: Cannot set property 'sub_super' of undefined。我还添加skipHtml=true了组件并将其写入.md文件中:

  b<sub>i</sub>

这也不起作用。我正在使用next.js

4

1 回答 1

2

使用下面的代码

<ReactMarkdown children={props.content} 
components={{ 
      em: ({ node, ...props }) => { 
              if ( props.children[0] && typeof props.children[0] === 'string' && props.children[0].startsWith('^')) { 
                    return <sup>{props.children[0].substring(1)}</sup> 
               } 
              if ( props.children[0] && typeof props.children[0] === 'string' && props.children[0].startsWith('~')) { 
                    return <sub>{props.children[0].substring(1)}</sub> 
               } 
             return <i {...props} /> 
            },
 }}

基本上我们正在创建一个新的自定义插件。

你可能也喜欢读这个故事

于 2021-05-28T09:38:09.313 回答