You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Pages Jekyll Now站点index.html添加条件判断过滤指定标题文章

问题解决方法

失效原因

Jekyll 使用的是 Liquid 模板语言,你之前尝试的indexOf、JavaScript 风格的includes都是前端 JS 语法,无法被 Liquid 引擎识别,模板解析失败就会导致页面渲染异常、所有文章都不显示。

正确实现方案

Liquid 内置了contains操作符,专门用于判断字符串是否包含指定子串,你可以直接用该语法实现过滤需求,推荐用语义更清晰的unless(除非)逻辑编写:

---
layout: default
---

<div class="posts">
  {% for post in site.posts %}
    <!-- 仅当文章标题不包含BEINGWRITTEN时,才渲染文章卡片 -->
    {% unless post.title contains "BEINGWRITTEN" %}
        <article class="post">
          <h2><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></h2>
          <div class="entry">
            {{ post.excerpt }}
          </div>
          <a href="{{ site.baseurl }}{{ post.url }}" class="read-more">Read More</a>
        </article>
    {% endunless %}
  {% endfor %}
</div>

可选优化

如果需要忽略大小写匹配(比如标题里的beingwritten、BeingWritten也需要被过滤),可以先把标题统一转成大写再做判断:

{% unless post.title | upcase contains "BEINGWRITTEN" %}

如果你更习惯用if写法,也可以写成:

{% if post.title contains "BEINGWRITTEN" == false %}

两种写法效果完全一致。

内容的提问来源于stack exchange,提问作者user93353

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:18:02