1

在这个Gatsby 项目中,我使用gatsby-transformer-remark将 Markdown 页面转换为 html。

我有这个问题

问题:如何配置gatsby-transformer-remark将所有*.md链接重命名为*/

我想我需要探索如何将 Markdown 链接相对路径更改为 gatsby-transformer-remark 的预处理

4

1 回答 1

1

我找到了解决方案:https ://github.com/stephane-klein/gatsby-remark-convert-linker-from-md-to-html-example/commit/a941cf990be4a16c72c46e3c893f37509a3e5890

plugins/gatsby-remark-relative-linker/index.js

const visit = require('unist-util-visit');
module.exports = ({ markdownAST }) => {
  visit(markdownAST, 'link', node => {
    if (
      node.url &&
      !node.url.startsWith('//') &&
      !node.url.startsWith('http')
    ) {
      node.url = node.url.replace(/^(.*)\.md$/, (match, path) => {
        return `/${path}/`;
      })
    }
  });

  return markdownAST;
};

在此处查看完整示例:https ://github.com/stephane-klein/gatsby-remark-convert-linker-from-md-to-html-example

于 2020-07-11T10:11:57.227 回答