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

Jekyll自定义Front Matter变量不生效,是否需额外配置?

嘿,我来帮你排查这个变量不生效的问题~ 你遇到的情况通常是几个小细节没注意到,咱们一步步来:

1. 先确认Front Matter的格式绝对正确

Jekyll对Front Matter的格式要求很严格:

  • 必须用三个连续的英文半角短横线(---)包裹,前后不能有任何多余的字符(比如开头的---前面不能有空格、换行以外的内容,也不能用全角的“——”)
  • 变量名和值之间的冒号后面必须加空格(你的代码里hello: "teste liquid"是对的,但如果不小心写成hello:"teste liquid"就会失效)

2. 检查页面文件的扩展名

Jekyll只会自动解析带有.md(Markdown)或.html扩展名的文件,如果你的文件是.txt或者其他非支持的格式,Front Matter里的变量根本不会被处理。比如要确保文件名是index.md或者about.html这类。

3. 验证布局文件是否正确渲染页面内容

你用了layout: default,那得确保_layouts/default.html里有{{ content }}这个标签——它是用来把当前页面的内容插入到布局里的。如果布局里没有这个标签,你的<h1>{{ page.hello }}</h1>根本不会被渲染出来,自然看不到变量内容。

4. 试试简化变量调用方式

在页面本身的内容里,其实可以直接用{{ hello }}来调用Front Matter里的变量(不需要page.前缀),你可以替换成这个写法试试,看能不能输出内容。

5. 清理缓存重新构建

有时候Jekyll的缓存会“记住”旧内容,导致新的变量不生效。你可以手动删除项目根目录下的_site文件夹,然后重新运行jekyll serve或者jekyll build,强制Jekyll重新构建整个站点。

如果以上步骤都试过还是不行,你可以看看运行Jekyll时的控制台输出,有没有报错信息——比如Front Matter格式错误、布局文件不存在这类提示,这些往往能直接定位问题。

给你一个正确的示例参考:

---
layout: default
hello: "teste liquid"
---

<h1>{{ page.hello }}</h1>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:18:34