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

Jekyll中自定义HTML元素内Markdown无法被kramdown解析如何解决?

解决方案

你可以通过修改Jekyll的全局配置,把自定义HTML元素加入kramdown的识别列表来解决这个问题,无需嵌套额外的标准HTML标签:

  1. 编辑站点根目录下的_config.yml,添加kramdown相关配置,把你的自定义元素加入块级元素白名单:
kramdown:
  # 在此处添加所有你用到的自定义块级元素
  block_elements:
    - my-element1
    - my-element2
  # 如果是自定义行内元素,添加到下方配置即可
  # span_elements:
  #   - my-inline-element
  1. 配置完成后重启Jekyll服务,之后直接在自定义元素上添加markdown="1"属性,内部的Markdown内容就可以被正常解析:
<!-- 自定义元素内部Markdown可正常解析 -->
<my-element1 markdown="1">
This is *markdown* with a bit of `code`.
</my-element1>
  1. 可选优化:如果你不想每次都手动添加markdown="1"属性,可以在上述kramdown配置中额外添加parse_block_html: true,开启后kramdown会默认解析所有已识别块级元素内部的Markdown内容:
kramdown:
  block_elements:
    - my-element1
    - my-element2
  parse_block_html: true

注意:开启parse_block_html后所有标准块级HTML元素内部的Markdown都会被默认解析,如果有部分元素不需要解析内部内容,需要给对应元素添加markdown="0"属性手动关闭。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:42:00