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

Jekyll中仅为textual分类文章引入disqus.html失效问题

排查Jekyll中Disqus模板条件判断不生效的问题

嘿,我来帮你搞定这个Disqus模板不显示的问题~ 咱们一步步排查可能的原因:

1. 最容易踩的坑:上下文变量用错了

如果这段代码是放在单篇文章的模板(比如post.html)里,那你用post.category就错啦!在单篇文章的页面中,当前文章的所有属性都是存在page变量里的,post变量是用来遍历站点所有文章时用的。

把条件判断改成这样试试:

{% if page.category == "textual" %}
  {% include disqus.html %}
{% endif %}

2. 分类可能是数组形式存储的

很多人会在文章的front matter里用复数的categories(比如categories: [textual]或者多行列表),这时候page.category会是一个数组,直接用==判断字符串肯定匹配不上。这时候要用contains过滤器检查数组里是否包含目标分类:

{% if page.categories contains "textual" %}
  {% include disqus.html %}
{% endif %}

另外要注意,如果你在front matter里写的是category: textual(单数),那一定要确认拼写是category而不是categories,Jekyll对变量名是严格区分的哦!

3. 核对文章的Front Matter设置

打开你标记为textual分类的文章,看看开头的Front Matter是不是正确设置的:

---
title: 你的文章标题
category: textual  # 或者 categories: textual
---

别犯低级错误,比如把textual拼写成textuals,或者大小写写错(比如Textual),这些都会导致条件判断失效。

4. 试试清空Jekyll缓存

有时候Jekyll的缓存会让你的修改不生效,执行下面的命令清空缓存后重新构建:

jekyll clean && jekyll serve

按照上面的步骤排查,应该就能解决问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:12:22