为什么Jekyll Liquid不在哪里过滤?

贾斯汀

我正在尝试输出某个作者的博客文章列表。我在Jekyll过滤器上尝试过此操作:

{% for post in (site.posts | where:"author", "mike") %}
  {{ post.title }}
{% endfor %}

但是它输出每个帖子。我不清楚我在做什么错。

大卫·雅克

假设您的帖子作者是您的首要任务,例如:

---
author: toto
...
---

如果您希望作者== toto发表最后两篇文章,请执行以下操作:

{% assign counter = 0 %}
{% assign maxPostCount = 2 %}
<ul>
{% for post in site.posts %}
  {% if post.author == 'toto' and counter < maxPostCount %}
    {% assign counter=counter | plus:1 %}
    <li>{{ counter }} - {{ post.title }}</li>
  {% endif %}
{% endfor %}
</ul>

跳!

编辑:和另一个解决方案使用where过滤器,而不是if子句:

{% assign posts = site.posts | where: "author", "toto" %}
{% assign counter2 = 0 %}
{% assign maxPostCount2 = 3 %}
<ul>
{% for post in posts %}
  {% if counter2 < maxPostCount2 %}
    {% assign counter2=counter2 | plus:1 %}
    <li>{{ counter2 }} - {{ post.title }}</li>
  {% endif %}
{% endfor %}
</ul>

重新编辑:贾斯汀是正确的,我不需要我的两个变量(counter2和maxPostCount2),我可以将Liquid用于循环 limit:n选项。

{% assign posts = site.posts | where: "author", "toto" %}
<ul>
{% for post in posts limit:3 %}
  <Ol>{{ post.title }}</ol>
{% endfor %}
</ul>

更好!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Jekyll的Liquid“包含”返回字符串?

为什么我的Jekyll博客不在我的Github页面上?

为什么Jekyll不在首页上渲染Markdown文件?

您在哪里设置子视图的图层属性?为什么不在initWithCoder中

无法根据“不在哪里”进行过滤

Erlang在哪里使用,为什么使用?

为什么和/或nil值在哪里?

为什么以及在哪里使用WCF

游民奔跑命令:在哪里,什么地方,为什么?

游民奔跑命令:在哪里,什么地方,为什么?

使用Jekyll / Liquid解析和过滤JSON

在Liquid / Jekyll模板中过滤数组

为什么虚拟终端是“虚拟”终端,“真实”终端是什么/为什么/在哪里?

Django:settings.py在哪里寻找导入,为什么?

为什么FireStore在哪里查询不起作用?

为什么此变量在哪里不可见

我在哪里输入节点命令,为什么?

Java Quicksort为什么/值在哪里更改?

为什么这不起作用?在哪里

为什么ls -d也列出文件,在哪里记录?

Windows注册表-为什么(和在哪里)存在?

为什么在哪里以及为什么应该使用多余的空模式?

什么是MobileTearSheet,它在哪里?

Jekyll 中 Where 过滤器中的 Liquid 标签

为什么这个Jekyll插件抛出异常?

为什么jekyll没有运行?

为什么要使用的WebSocket,什么是使用它的优势在哪里?

什么时候,在哪里以及为什么我应该对控制结构使用“替代语法”?

不在哪里和哪里出现错误