If statement 在Jekyll中有条件地添加数据属性
我的博客帖子的基本YAML前端内容如下:If statement 在Jekyll中有条件地添加数据属性,if-statement,yaml,jekyll,liquid,yaml-front-matter,If Statement,Yaml,Jekyll,Liquid,Yaml Front Matter,我的博客帖子的基本YAML前端内容如下: layout: post title: 'Crepes' permalink: /crepes/ src: '/assets/images/crepes.jpg' date: 2018-05-24 21:41:00 origin: http//... ingredients: - ingredient1: amount - ingredient2: amount 以下是显示条目的my
layout: post
title: 'Crepes'
permalink: /crepes/
src: '/assets/images/crepes.jpg'
date: 2018-05-24 21:41:00
origin: http//...
ingredients:
- ingredient1: amount
- ingredient2: amount
以下是显示条目的my index.html:
<ul>
{% for post in site.posts %}
<li data-title='{{ post.title }}' data-origin="{{ post.origin }}"
data-src="{{ post.src | prepend: relative_url}}"
data-content='{ "ingredients": {{ post.ingredients | jsonify }} }'>
<a href="{{ site.baseurl }}{{ post.url }}">
<img src="{{ post.src | prepend: relative_url }}" alt={{ post.title }}/>
</a>
</li>
{% endfor %}
</ul>
有没有办法在html标签中使用它?在我的情况下,我希望这样:
{% for post in site.posts %}
<li
{% if post.origin has value %}
data-origin="{{ post.origin }}"
{% endif %}">
</li>
{% endfor %}
{%for site.posts%}
这里我看到四个案例:
post.origin
不在前面:
post.origin==null
post.origin
出现在前面,但未设置(post.origin:
)
=>post.origin==null`
post.origin
出现在前面,但设置为空字符串(post.origin:
)
=>post.origin==“”
post.origin
出现在前面,并设置为有效字符串(post.origin:“toto”
)
=>post.origin==“toto”
结果与实验相符
在此基础上,使用,我们可以建立如下条件:
<li
{% if post.origin and post.origin != "" %}
data-origin="{{ post.origin }}"{% endif %}>
</li>
请注意,post.origin
表示post.origin!=空
<li
{% if post.origin and post.origin != "" %}
data-origin="{{ post.origin }}"{% endif %}>
</li>