如何在Jekyll中检索当前的帖子索引号?

时间:2014-09-27 09:06:34

标签: ruby jekyll liquid

有没有办法从 site.posts 获取当前的帖子索引号?

{{site.posts | size}} 是帖子的总数。 我需要的是 {{site.posts.index}} {{page.index}}

我想在每个帖子页面上显示一个计数器。示例:发布4354中的第43条

2 个答案:

答案 0 :(得分:6)

for循环中,您可以通过两种方式获取当前项目索引:

{% for post in site.posts %}{{ forloop.index }}{% endfor %}
# will print 123...

{% for post in site.posts %}{{ forloop.index0 }}{% endfor %}
# will print 012...

您需要的是{{ forloop.index }}

答案 1 :(得分:5)

(回答我自己的问题,也许这有助于其他人)

使用简单的jekyll插件确实有另一种方式(并且没有重大的性能影响):

module Jekyll
    class PostIndex < Generator
        safe true
        priority :low
        def generate(site)
            site.posts.each_with_index do |item, index|
                item.data['index'] = index
            end
        end
    end
end

另存为 post_index_generator.rb 并放入 _plugins 文件夹。

使用 {{page.index}}

获取模板中的帖子索引