0

我正在使用 Jekyll 创建一个工作列表页面,我决定创建一个单独的数据文件,其中包含可用的工作职位。

我想添加一个条件,如果没有可用的位置(数据文件为空),则会出现一条特定的消息。

所以我有一个job.html应该显示列表,我尝试显示列表或消息的代码是:

<!-- Jobs -->
<section class="jobs">
    {% if site.data.jobs == '' %}
        <h1>No job openings right now!</h1>
    {% else %}
        {% for job in site.data.jobs %}
            <h1>{{ job.title }}</h1>
            <h2>{{ job.link }}</h2>
        {% endfor %}
    {% endif %}
</section>

它没有用,所以我试图通过仅验证是否有空的标题标签来破解它,如下所示:

<!-- Jobs -->
<section class="jobs">
    {% if site.data.jobs.title == '' %}
        <h1>No job openings right now!</h1>
    {% else %}
        {% for job in site.data.jobs %}
            <h1>{{ job.title }}</h1>
            <h2>{{ job.link }}</h2>
        {% endfor %}
    {% endif %}
</section>

也没有工作。任何想法如何解决这个问题?

4

1 回答 1

2

将生成一个空的“作业”数据文件,因此您site.data.jobs可以false检查它以显示消息(for如果是这种情况,语句将不会执行):

{% unless site.data.jobs  %}
    <h1>No job openings right now!</h1>
{% endunless%}

如果数据文件根本不存在,那么上面的代码也site.data.jobs可以nil工作。

其他解决方案

另一种方法是检查site.data.jobs数组的大小:

    {% assign jobs_size = site.data.jobs | size %}
    {% if jobs_size == 0 %}
        <h1>No job openings right now!</h1>
    {% else %}
    ...
于 2017-03-27T18:36:37.057 回答