【问题标题】:Path prefix for relative paths in Eleventy markdown links11 个降价链接中相对路径的路径前缀
【发布时间】:2021-01-20 12:46:46
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: markdown relative-path eleventy


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-11-06
        • 1970-01-01
        • 2012-03-09
        • 2014-05-27
        • 2013-03-19
        • 2016-03-20
        • 2018-10-15
        • 1970-01-01
        • 2015-03-06
        相关资源
        最近更新 更多