问题描述
运行eleventy从markdown和模板构建静态页面时,如何在markdown文档中定义的相对链接前面加上前缀。
我使用./docs作为输出目录,以从Markdown文档和项目的./eleventy目录中的html模板构建文档页面。
npx eleventy --input ./eleventy --output ./docs --formats=md
我查看了构建命令的url过滤器和pathprefix选项,但我不明白。
我在哪里设置网址过滤器?在降价?在高级配置中?
解决方法
您可以将其作为环境变量传递,然后创建在模板中使用的模板函数。
- 在shell命令前加上环境变量:
MY_PREFIX=/prefix npx eleventy --input ./eleventy --output ./docs --formats=md
- 将以下内容添加到您的
.eleventy.js
:
eleventyConfig.addShortcode("myPrefix",() => process.env.MY_PREFIX);
- 在您的模板中使用它(假设使用Nunjucks)
<a href="{% myPrefix %}/some-page"></a>