Eleventy 降价链接中相对路径的路径前缀
Path prefix for relative paths in Eleventy markdown links
当我 运行 从我的 markdown 和模板构建静态页面时,如何为 markdown 文档中定义的相关链接添加前缀。
我使用 ./docs 作为输出目录,从我项目的 ./eleventy 目录中的 markdown 文档和 html 模板构建文档页面。
npx eleventy --input ./eleventy --output ./docs --formats=md
如何在所有相关链接前加上 /foo 前缀?
我查看了构建命令的 url 过滤器和路径前缀选项,但我不明白。
我应该在哪里设置 url 过滤器?在降价?在十一配置中?
您可以将其作为环境变量传递,然后创建一个模板函数,您可以在模板中使用它。
- 在 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>
如果您使用相对路径,url 过滤器将只return 文档中解释的相同路径,因为不需要修改相对路径,对吗?它会一直有效
假设降价使用 liquid/nunjucks:
// firstpost.md - relative path to second post
<a href="{{ '../secondpost/' | url }}">Second post</a> #return ../secondpost/
考虑使用:
// firstpost.md - absolute path to second post
<a href="{{ '/secondpost/' | url }}">Second post</a> #return /docs/secondpost/
并在.eleventy.js
module.exports = {
...
pathPrefix: "/docs/"
};
当我 运行 从我的 markdown 和模板构建静态页面时,如何为 markdown 文档中定义的相关链接添加前缀。
我使用 ./docs 作为输出目录,从我项目的 ./eleventy 目录中的 markdown 文档和 html 模板构建文档页面。
npx eleventy --input ./eleventy --output ./docs --formats=md
如何在所有相关链接前加上 /foo 前缀?
我查看了构建命令的 url 过滤器和路径前缀选项,但我不明白。
我应该在哪里设置 url 过滤器?在降价?在十一配置中?
您可以将其作为环境变量传递,然后创建一个模板函数,您可以在模板中使用它。
- 在 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>
如果您使用相对路径,url 过滤器将只return 文档中解释的相同路径,因为不需要修改相对路径,对吗?它会一直有效
假设降价使用 liquid/nunjucks:
// firstpost.md - relative path to second post
<a href="{{ '../secondpost/' | url }}">Second post</a> #return ../secondpost/
考虑使用:
// firstpost.md - absolute path to second post
<a href="{{ '/secondpost/' | url }}">Second post</a> #return /docs/secondpost/
并在.eleventy.js
module.exports = {
...
pathPrefix: "/docs/"
};