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

Jekyll集合子文件夹问题:合并多MD文件生成HTML时未渲染Markdown

解决Jekyll集合合并时Markdown未渲染问题

问题根源

在note布局中直接调用note_section的content属性时,Jekyll默认输出原始Markdown文本,不会自动渲染——只有单独生成note_section页面时,布局才会触发Markdown转HTML的处理流程。

解决方案

1. 使用markdownify过滤器处理内容

在你的note布局文件里,给section.content加上markdownify过滤器,强制转换Markdown为HTML:

{% for section in site.note_sections %}
  {% if section.path contains page.section_folder %}
    <div class="collapsible-section">
      <h3>{{ section.title }}</h3>
      {{ section.content | markdownify }}
    </div>
  {% endif %}
{% endfor %}

2. 检查note_section的Front Matter

确保_note_sections下的Markdown文件没有禁用渲染的配置,正确的Front Matter示例:

---
layout: note_section
title: "Python基础语法"
section_folder: "python-basics"
---

不要添加render: false这类会阻止渲染的字段。

3. 验证路径匹配逻辑

确认page.section_folder和section.path的匹配规则准确,比如子文件夹为_note_sections/python-basics/时,要保证只匹配该路径下的section文件,避免引入无关内容导致渲染异常。

4. 处理含Liquid标签的内容

如果note_section里包含Liquid标签(如{% ... %}),需要先通过liquify解析Liquid,再用markdownify转换:

{% capture raw_content %}{{ section.content }}{% endcapture %}
{{ raw_content | liquify | markdownify }}

收尾步骤

运行jekyll clean清理缓存,再执行jekyll build重新生成站点,避免旧缓存导致的渲染问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:45:05