【问题标题】:Configure Eleventy not to use directories for output?配置 Eleventy 不使用目录进行输出?
【发布时间】:2021-08-11 07:46:34
【问题描述】:

是否有可能以某种方式为 Eleventy 进行一般配置,以便输入文件夹中的“my_file.html”最终与 _site 文件夹中的“my_file.html”一样,而不是“/my_file/index.html”?

我知道我可以使用永久链接逐个文件地执行此操作。但如果可能的话,我希望它为整个站点配置。

【问题讨论】:

    标签: eleventy


    【解决方案1】:

    不幸的是,由于这种行为isn't encouraged,没有简单的配置选项来禁用目录输出。

    但是,由于permalinkdata cascade 的一部分,您可以设置全局默认值,并结合filePathStem computed data,您可以将输出设置为.html 文件。

    要使用全局数据文件设置permalink,请将permalink.js 文件添加到全局_data 目录中。

    // _data/permalink.js
    module.exports = '/{{ page.filePathStem }}.html'
    

    还有一个配置全局数据选项coming soon to v1.0.0。我不确定它是否会处理{{ page.filePathStep }} 预处理,但如果可以,那也可能是一个选项,尤其是因为它将与配置相关的内容保留在配置文件中。

    【讨论】:

    • 很好的答案! ? 只是一个很大的警告,permalink 字符串将被处理为模板文件的语法,因此全局使用字符串可能有点不确定。使用函数应该更安全。
    【解决方案2】:

    是的,您可以通过在前面指定永久链接值来控制 Eleventy 将内容写出的位置。此处对此进行了介绍:https://www.11ty.dev/docs/permalinks/#remapping-output-(permalink)

    一个例子是:

    ---
    permalink: "/my_file.html"
    ---
    

    【讨论】:

    • 对不起,我完全错过了 OP 说他想配置一次的地方。
    猜你喜欢
    • 1970-01-01
    • 2020-02-20
    • 2019-02-21
    • 2012-03-13
    • 1970-01-01
    • 2021-08-26
    • 2017-07-02
    • 2016-03-05
    • 1970-01-01
    相关资源
    最近更新 更多