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 过滤器?在降价?在十一配置中?

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

  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>

如果您使用相对路径,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/"
};