【问题标题】:Explain structure of site.categories解释 site.categories 的结构
【发布时间】:2013-05-13 02:51:29
【问题描述】:

Jekyll 提供了一个可供流动模板访问的site.categories 变量。在我的网站中,我目前有两个类别,每个类别都有一篇文章。通过查看 jekyll 引导程序 categories.html 我知道:

{% for category in site.categories %}
    {{ category[0] }}

我知道这会呈现为类别的名称。但是,如果我也这样做:

    {% for item in category %}
        {{ item }}

似乎类别有两个项目:它的名称和帖子。这对我来说毫无意义。 category[0] 是 name 然后一个帖子数组从索引 1 开始?为什么这有意义?我想知道这是否来自Ruby,但我不知道Ruby。 (因为 Jekyll 是用 Ruby 编写的,所以我添加了这个标签,因为我怀疑大部分语法都是派生的。)

如何确定site.categories 的结构?我不知道如何调试它,也不太了解流动语法,无法知道为什么这种行为是有意义的。

【问题讨论】:

  • 什么让你如此困惑?? site.categories 是一个多维数组。
  • @sunny1304 那么我不应该以site.categories[1][0] 而不是site.categories[1] 的身份访问第一个帖子吗?

标签: ruby jekyll liquid


【解决方案1】:

site.categories 是一个多维的类别数组。每个类别都包含它的名称作为第一个元素,以及该类别中包含的帖子列表。帖子本身由名称、内容、永久链接等组成(与site.posts 条目中的信息相同)。

【讨论】:

  • 所以实际上cat[0] = 姓名,cat[1] = 第一篇文章等等?看起来就是这样,它只是一个错误的设计。
  • 你的设计有什么问题?不,cat[1] = 帖子数组,类别的第一篇帖子 = cat[1][0]。
  • 那么为什么cat[1] 打印帖子?当您尝试输出数组时,liquid 是否仅渲染数组的所有内容?
猜你喜欢
  • 2022-08-14
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
  • 2016-12-28
相关资源
最近更新 更多