首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据带有Jekyll和list的帖子的数量列出帖子?

如何根据带有Jekyll和list的帖子的数量列出帖子?
EN

Stack Overflow用户
提问于 2016-08-16 08:24:27
回答 1查看 498关注 0票数 0

我一直试图弄清楚这一点,但一直未能得出满意的结论。

基本上,我想要做的是检测我的Jekyll站点上的帖子数量,并根据该数量列出帖子。例如,如果只有一个帖子,我想列出该帖子的全部长度和所有格式。如果有两篇文章,我想把这两篇文章都列为片段,并且不使用HTML格式。如果有三个,与两个职位相同。如果有三篇以上的文章,我想和两篇和三篇一样,但用“查看所有帖子”的链接,因为我想在主页上列出最多三个,但如果不超过三个帖子,我不想要“查看所有帖子”的链接。

在列出当前代码之前,我想指出的是,我尝试过使用paginator.total_posts (我在我的站点上使用了jekyll页面),但是没有列出任何内容。

下面是我目前的代码:

代码语言:javascript
复制
{% if site.posts | size == 1 %}
  {% for post in site.posts %}
    {{ first post coding, full-length }}      
  {% endfor %}
{% endif %}
{% if site.posts | size == 2 %}
  {% for post in site.posts limit:1 %}
    {{ first post coding, snippet }}    
  {% endfor %}
  {% for post in site.posts limit:1 offset:1 %}
    {{ second post coding, snippet }}   
  {% endfor %}
{% endif %}
{% if site.posts | size == 3 %}
  {% for post in site.posts limit:1 %}
    {{ first post coding, snippet }}    
  {% endfor %}
  {% for post in site.posts limit:1 offset:1 %}
    {{ second post coding, snippet }}   
  {% endfor %}
  {% for post in site.posts limit:1 offset:2 %}
    {{ third post coding, snippet }}    
  {% endfor %}
{% endif %}
{% if site.posts | size > 3 %}
  {% for post in site.posts limit:1 %}
    {{ first post coding, snippet }}    
  {% endfor %}
  {% for post in site.posts limit:1 offset:1 %}
    {{ second post coding, snippet }}   
  {% endfor %}
  {% for post in site.posts limit:1 offset:2 %}
    {{ third post coding, snippet }}    
  {% endfor %}
  {{ "view all posts" link coding }}
{% endif %}

问题是,我的页面输出的是所有的{% if %}语句;它不是只选择一个,而是为{{ site.posts | size }}输出的数字选择一个。这让我感到困惑,因为当我将{{ site.posts | size }}放在代码中时,它列出了每种情况下正确的数字。

我尝试过将==更改为contains,甚至是:,但仍然得到了相同的结果。

我不知道从这里去哪里,所以任何帮助都是非常感谢的。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 08:39:54

您不应该混合测试和过滤器。尝试以下几点:

代码语言:javascript
复制
{% assign post_count=site.posts | size %}
{% if post_count == 1 %}
...

请注意,对于数组,您可以使用size属性而不是过滤器:

代码语言:javascript
复制
{% if site.posts.size == 1 %}
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38969941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档