如何通过前端变量(Eleventy / 11ty)过滤处理过的文件?

Posted

技术标签:

【中文标题】如何通过前端变量(Eleventy / 11ty)过滤处理过的文件?【英文标题】:How do i filter the processed files by a front-matter variable (Eleventy / 11ty)? 【发布时间】:2021-10-15 23:12:21 【问题描述】:

实际上,我想阻止所有将 version 设置为 draft 的内容文件(在我们的例子中为降价文件)由 110 处理(因此不渲染/复制到输出目录)。

【问题讨论】:

文件是否具有永久链接的价值? 【参考方案1】:

以这篇博文 (https://rusingh.com/2020/05/14/eleventy-exclude-draft-collection-items-programmatically/) 为例,您可以使用目录数据文件检查前面的内容,当drafts === 'version' 时,为永久链接返回 false。这对我有用:

module.exports = 

    eleventyComputed: 
        permalink: (data) => 
            if(data.version && data.version === 'draft') return false;
            return;
        
    

【讨论】:

参考的文章很棒!这个技巧对我来说并不完全有效,因为带有version: draft 的文件确实没有发布,但仍然在集合中(所以仍然显示在菜单中)。但这很容易解决。 别忘了你可以基于另一个集合创建一个新集合。这就是我要做的。

以上是关于如何通过前端变量(Eleventy / 11ty)过滤处理过的文件?的主要内容,如果未能解决你的问题,请参考以下文章

Eleventy 11ty - 2 个独立目录的标签列表排序

是否可以在 .eleventy 配置文件中使用“addGlobalData”?

分页不适用于 11ty(十一)中的可扩展布局

如何使用 Eleventy 的灰质节选?

您如何按包含标签的帖子数量对博客帖子标签列表进行排序(在 Eleventy 中使用 Nunjucks)?

在 Eleventy 中维护外部链接