0

当我运行十一以从我的降价和模板构建静态页面时,如何为降价文档中定义的相对链接添加前缀。

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

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

我怎么能在所有相对链接前面加上 /foo ?

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

我将在哪里设置 url 过滤器?在降价?在十一配置?

4

2 回答 2

3

如果您使用相对路径,则 url 过滤器只会返回与文档中解释的相同的路径,因为不需要修改相对路径对吗?它会一直有效

假设降价使用液体/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/"
};
于 2021-01-14T16:22:27.677 回答
1

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

  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>
于 2020-12-13T19:34:04.117 回答