【问题标题】:Manually order a Jekyll collection手动订购 Jekyll 合集
【发布时间】:2019-10-13 03:33:03
【问题描述】:

正如 Jekyll 文档 here 中所述,我的 _config.yml 中有以下内容:

collections:
  sections:
    order:
      - introduction.md
      - battery-state.md
      - vibe.md
      - references.md

要在 HTML 中呈现每个文件的内容,我有以下内容:

{% for section in site.sections %}
  {{ section.content }}
{% endfor %}

但是,内容顺序并没有按照我在配置文件中定义的顺序显示。如何按照我在配置文件中定义的顺序显示内容?

【问题讨论】:

  • 这是 Jekyll 4.0 的一个特性。确保您使用的是最新版本的 jekyll..
  • @ashmaroli 看起来 Github Pages Jekyll 目前是 v3.8.5 pages.github.com/versions,这是我正在使用的版本。希望 GitHub 能尽快更新到最新版本。
  • GitHub 上有一个问题,支持 GitHub Pages 的 v4.0 github.com/github/pages-gem/issues/651

标签: html yaml jekyll github-pages


【解决方案1】:

在 Jekyll 4.0 中引入了在集合中手动排序文档 要使用此功能,请确保您使用的是 Jekyll 4.0

对于部署在 GitHub Pages 上的站点,这意味着必须在 GitHub Pages 环境之外构建站点并上传目标目录 (_site) 的内容。

【讨论】:

    【解决方案2】:

    您还可以选择将部分添加到页面的前端。当您不使用 Jekyll v4 或者您希望用户能够在 CloudCannon、Netlify CMS、Forestry 或其他带有前端编辑器的 CMS 中编辑订单时,这很有用。

    sections:
      - introduction
      - battery-state
      - vibe
      - references
    

    并且使用这样的布局:

    {% for s in page.sections %}
        {% for section in site.sections %}
            {% if s == section.slug %}
                 ...
            {% endif %}
        {% endfor %}
    {% endfor %}
    

    【讨论】:

    • 在 GitHub Pages 上提供 v4.0 之前,这是一个很好的临时解决方案。谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 2011-02-03
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    相关资源
    最近更新 更多