Jekyll博客文章标题无法渲染问题求助
嘿,我来帮你排查这个标题渲染不出来的问题!结合Jekyll和bloggy在Rails里的使用场景,咱们从这几个方向逐一排查:
先检查模板变量的正确写法
因为bloggy是适配Rails的工具,它可能把post作为实例变量传递给布局,而不是纯Jekyll里的post局部变量。试试把模板里的{{ post.title }}改成{{ @post.title }};如果是ERB模板(不是Liquid)的话,得用ERB语法:<%= @post.title %>。确认文章的前置元数据(Front Matter)正确
不管是纯Jekyll还是bloggy集成,每个markdown文章的开头必须有正确的Front Matter,否则Jekyll识别不出title字段。比如你的post文件开头得是这样:--- title: "我的测试文章标题" date: 2024-05-20 ---注意字段名是小写的
title,不能写错大小写,也不能漏掉前后的---分隔符。验证post对象是否被正确传递到布局
可以先在post.html布局里加个调试输出,比如写{{ @post.inspect }}(Liquid模板)或者<%= @post.inspect %>(ERB模板),看看能不能输出post的结构。如果输出nil,说明post实例变量根本没传到布局里,这时候要检查bloggy的路由配置或者对应的控制器代码,确保它把post对象正确传递给了视图。检查模板引擎的类型
Rails默认用ERB,而Jekyll用Liquid,bloggy会帮你处理两者的集成,但要确保你的post.html后缀是对应的:如果用Liquid语法({{ }}),文件后缀得是.html.liquid;如果是ERB语法(<%= %>),后缀是.html.erb。后缀错了的话,模板语法根本不会被解析。排查bloggy版本或自定义配置问题
有时候工具版本更新会改变变量传递逻辑,试试更新bloggy到最新版本。另外,如果你的项目里自定义了post模型,要确认没有覆盖默认的title属性,或者有没有在bloggy的配置里隐藏了title字段。
内容的提问来源于stack exchange,提问作者brownmagik352

