使用';其中';在Jekyll中筛选以仅返回非空的项目
我有一个包含项目列表的CSV数据文件。我想将变量分配给过滤后的数据段,然后循环它们 在这里,我尝试筛选所有项目,以仅显示已在使用';其中';在Jekyll中筛选以仅返回非空的项目,jekyll,where,assign,Jekyll,Where,Assign,我有一个包含项目列表的CSV数据文件。我想将变量分配给过滤后的数据段,然后循环它们 在这里,我尝试筛选所有项目,以仅显示已在全局\u优先级字段中分配值的项目。如果该项目没有价值,我不知道它在列表中 我尝试使用where\u exp,但它返回所有内容。最好的方法是什么?是否可以在不使用if语句的情况下实现这一点 projects.csv name,global_priority,region,region_priority Project A,1,Global, Project B,,Spain,
全局\u优先级
字段中分配值的项目。如果该项目没有价值,我不知道它在列表中
我尝试使用where\u exp
,但它返回所有内容。最好的方法是什么?是否可以在不使用if
语句的情况下实现这一点
projects.csv
name,global_priority,region,region_priority
Project A,1,Global,
Project B,,Spain,1
Project C,2,UK,1
循环
{% assign projects = site.data.projects %}
{% assign global_p = projects | where_exp: "item.global_priority", "item.global_priority != blank" %}
{% for p in global_p %}
<ul>
<li>{{ p.global_priority }}</li>
<li>{{ p.region }}</li>
<li>{{ p.name }}</li>
</ul>
{% endfor %}
{%assign projects=site.data.projects%}
{%assign global_p=projects |其中_exp:“item.global_priority”,“item.global_priority!=空白”%}
{p在全局_p%}
- {{p.global_priority}}
- {{p.region}}
- {{p.name}}
{%endfor%}
访问where exp
项目的方式有一个小错误,它应该是指您将在比较中使用的名称:where exp:“项目”
然后:
{%assign global_p=site.data.projects |其中_exp:“item”,“item.global_priority”%}
{p在全局_p%}
- {{p.global_priority}}
- {{p.region}}
- {{p.name}}
{%endfor%}
产出:
<ul>
<li>1</li>
<li>Global</li>
<li>Project A</li>
</ul>
<ul>
<li>2</li>
<li>UK</li>
<li>Project C</li>
</ul>
- 一,
- 全球的
- 项目A
- 二,
- 英国
- 项目C
啊,是的,我现在明白了-非常感谢!
<ul>
<li>1</li>
<li>Global</li>
<li>Project A</li>
</ul>
<ul>
<li>2</li>
<li>UK</li>
<li>Project C</li>
</ul>