Jekyll:如何从集合中包含特定文件?

Jekyll: How to include specific file from collection?

我有一组 css 个文件,我用 Jekyll 将它们合并到一个文件中。这很简单:

{% for file in site.css %}
{{ file }}
{% endfor %}

但是,有一种特殊情况,我只想包含这些文件中的一个。 pages.css 文件。

site.css 是一个集合,所以我只是将所有 css 文件放在一个名为 _css 的文件夹中,并在 _config.yml 中添加:

collections:
  css:
    output: false

我使用 {{ site.css | where:"title", "Pages" | first }} 只能包含 _css/pages.css 个文件。但我想知道是否有更好的方法来做到这一点。像 {{ site.css/pages.css }}

有没有办法做到这一点?没有 wherefirst 子句?

对于例外情况,我会使用 if 语句而不是遍历文件。

但是,我会在使用此解决方案时考虑缓存。如果一个页面使用 'superlargecombined.css' 而另一个页面使用 'superlargecombinedcsswithoutonepart.css' 客户端需要下载它们(完全)。那不是优化。如果您将 css 文件分开,它们可以被缓存并且将被下载一次,独立于您的页面 css 配置。将始终需要粘在一起的东西组合在一起是一个很好的解决方案(以最小化请求),但请注意,使用 HTTP2 时,最小化请求的需求将大大减少。

希望对您有所帮助!