Jekyll-compose无法为草稿/文章设置默认Front Matter求助
解决Jekyll Compose默认Front Matter不生效的问题
看起来你遇到的核心问题是Jekyll Compose没有读取到你在_config.yml里配置的默认Front Matter,我来帮你一步步排查解决:
1. 确保Jekyll Compose插件被正确加载
Jekyll 3.5及以上版本要求所有插件必须在_config.yml的plugins数组中声明,否则即使安装了gem也不会生效。看你的配置文件,plugins里目前只有jekyll-feed和jekyll-paginate-v2,缺少jekyll-compose!
修改你的_config.yml的plugins部分:
plugins: - jekyll-feed - jekyll-paginate-v2 - jekyll-compose # 加上这一行,让Jekyll加载该插件
2. 务必使用bundle exec前缀执行命令
如果你直接用jekyll post之类的命令,可能调用的是系统全局的Jekyll版本,而不是你Gemfile里指定的带插件的版本。所有Jekyll相关命令都要加上bundle exec前缀,确保使用的是项目依赖的环境,比如:
bundle exec jekyll draft "My New Draft" bundle exec jekyll post "My New Post"
3. 验证配置格式与缩进
YAML对缩进非常敏感,你的jekyll_compose配置缩进看起来是正确的,但要确保所有层级都统一使用2个空格缩进,避免混用tab或者不一致的空格数。
4. 重启Jekyll服务(如果正在运行)
如果之前你启动了Jekyll开发服务器(bundle exec jekyll serve),修改_config.yml后需要重启服务器,让新的配置生效。
测试验证
做完上面的步骤后,重新生成一篇文章,比如:
bundle exec jekyll post "Test Custom Front Matter"
打开生成的文件,应该就能看到你配置的main_img_url、author_name等字段出现在Front Matter里了。
如果还是有问题,可以尝试清除Jekyll的缓存(删除项目根目录下的.jekyll-cache文件夹),然后再重新生成内容。
内容的提问来源于stack exchange,提问作者Olly Middleton
相关产品推荐
相关产品推荐

