Jekyll中无法访问_post下MyBlogContent子文件夹内容的问题咨询
解决Jekyll无法读取_post子文件夹文章并按分类调用的问题
嘿,我来帮你搞定这个问题!你遇到的情况其实是Jekyll的默认规则和一个小语法错误共同导致的,咱们一步步来解决:
问题根源
- Jekyll默认不扫描_post的子文件夹:Jekyll只会自动读取
_posts根目录下的Markdown文件作为博客文章,子文件夹里的内容默认会被忽略——哪怕你在前置内容里设置了category也没用,因为这些文件根本没被Jekyll加载进来。 - 模板代码的语法错误:你用了
site.category.MyBlogContent,但Jekyll里存储分类的变量是复数形式的site.categories,单数写法是拿不到内容的。
解决方案
步骤1:让Jekyll识别_post子文件夹里的文章
打开你的_config.yml配置文件,添加include参数,指定要包含的子文件夹:
include: - _posts/MyBlogContent
这个配置会告诉Jekyll:“别忽略_posts/MyBlogContent里的文件,把它们当作博客文章处理”。
步骤2:修正模板中的分类调用代码
把你原来的循环代码里的site.category改成site.categories,正确的代码应该是这样:
{% for post in site.categories.MyBlogContent %} <li> <a href="{{ post.url }}">{{ post.title }}</a> </li> {% endfor %}
最后一步:重启Jekyll服务
修改_config.yml后,你需要停止当前的Jekyll服务(按Ctrl+C),然后重新运行jekyll serve或者jekyll build,这样新的配置才能生效。
这样操作之后,你应该就能正常获取到MyBlogContent分类下的所有文章了!
内容的提问来源于stack exchange,提问作者Manu Mohanan
相关产品推荐
相关产品推荐

