Jekyll文章Markdown内容不显示?已做排查仍未解决求协助
解决Jekyll文章内容不显示的几个关键排查点
我之前也碰到过几乎一模一样的问题!折腾了好一会儿才找到原因,给你列几个最可能的排查方向:
检查Front Matter的语法格式
确保你的Front Matter是严格的YAML格式,前后必须是单独的三个短横线,每个键值对单独一行:--- layout: post published: true encoding: utf-8 ---如果把所有内容挤在一行(比如
--- layout: post published: true ---),Jekyll会识别不到合法的Front Matter,直接把整个文件当纯文本处理,自然不会渲染内容。别用错模板变量!
这是我踩过的大坑:在单个文章的布局文件(_layouts/post.html)里,要显示文章内容必须用{{content}},而不是{{post.content}}!{{post.content}}是在首页、分类页这类需要循环遍历多篇文章的页面里才用的变量,单个文章的上下文里,直接用{{content}}就能把你的Markdown内容渲染出来。检查Jekyll的构建日志
运行jekyll build --verbose命令,仔细看输出日志:- 有没有出现你的文章文件名?如果没出现,说明Jekyll没识别到这篇文章,可能是
_posts目录拼写错误(比如写成_post或者posts)、文件名格式不对(必须是YYYY-MM-DD-标题.md),或者_config.yml里的exclude选项把_posts目录排除了。 - 如果日志显示文章被处理了,但内容为空,那可能是文章本身的Markdown有语法错误(比如未闭合的加粗标签
**、未结束的代码块),可以先把文章内容换成最简单的Hello World测试,看能不能正常显示。
- 有没有出现你的文章文件名?如果没出现,说明Jekyll没识别到这篇文章,可能是
验证文件权限和路径
- 确保
_posts目录在项目根目录下,不是嵌套在其他文件夹里。 - 在Linux/macOS系统下,检查文件权限:运行
ls -l _posts/2018-01-01-firstPost.md,确保当前用户有读权限(权限位里有r)。
- 确保
检查_config.yml的配置
- 有没有设置
permalink格式导致文章路径异常?可以暂时注释掉permalink配置,用默认格式测试。 - 有没有启用可能影响内容渲染的插件?比如某些插件会过滤文章内容,可以暂时禁用所有插件试试。
- 有没有设置
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

