Eleventy markdown链接中相对路径的路径前缀

问题描述

运行eleventy从mar​​kdown和模板构建静态页面时,如何在markdown文档中定义的相对链接前面加上前缀。

我使用./docs作为输出目录,以从Markdown文档和项目的./eleventy目录中的html模板构建文档页面

npx eleventy --input ./eleventy --output ./docs --formats=md

如何在所有相对链接前面加上/ foo前缀?

我查看了构建命令的url过滤器和pathprefix选项,但我不明白。

我在哪里设置网址过滤器?在降价?在高级配置中?

解决方法

您可以将其作为环境变量传递,然后创建在模板中使用的模板函数。

  1. 在shell命令前加上环境变量:
MY_PREFIX=/prefix npx eleventy --input ./eleventy --output ./docs --formats=md
  1. 将以下内容添加到您的.eleventy.js
eleventyConfig.addShortcode("myPrefix",() => process.env.MY_PREFIX);
  1. 在您的模板中使用它(假设使用Nunjucks)
<a href="{% myPrefix %}/some-page"></a>