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

Jekyll自定义Front Matter无法生效,导航栏无内容求助

排查Jekyll Front Matter在布局中无法调用的问题

1. 先盯紧Front Matter的格式规范

  • 必须用**三个英文连字符(---)**把内容包在最开头,前后不能有任何空白、注释或其他字符,少一个都不行
  • 键值对要写对:冒号后面必须跟空格,比如food: Pizza,不能写成food:Pizza
  • 别用中文标点,全程用英文符号

2. 确认页面和布局的关联

  • 你的.md文件Front Matter里必须明确写layout: default,没写的话Jekyll会用默认布局,根本不会用你改的default.html
    正确示例:
    ---
    layout: default
    food: Pizza
    ---
    

3. 检查布局里的变量作用域

  • 确保default.html里的{{ page.food }}没嵌套在{% for %}这类循环/条件块的错误作用域里
  • 如果是通过{% include navigation.html %}引入导航栏,include文件默认能访问父模板的page对象,别在include时乱传变量搞混作用域

4. 导航栏site.data.samplelist.toc2的问题排查

  • 先确认_data文件夹下有没有samplelist.yml,文件里的toc2节点是否存在,格式是否正确
    示例正确的_data/samplelist.yml结构:
    toc2:
      - title: 首页
        url: /
      - title: 关于
        url: /about/
    
  • 导航栏的遍历逻辑要写对,比如:
    {% for item in site.data.samplelist.toc2 %}
      <a href="{{ item.url }}">{{ item.title }}</a>
    {% endfor %}
    

5. 清缓存重构建

  • Jekyll会缓存旧内容,有时候改了没生效是缓存搞的鬼,执行命令清缓存再重新运行:
    bundle exec jekyll clean && bundle exec jekyll serve
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:12:34