Kramdown缩进代码块制表符转空格问题求助
解决方案
1. 开启Kramdown的制表符保留配置
这是最直接的解决办法,修改Jekyll根目录下的_config.yml,添加或更新Kramdown的配置项:
kramdown: preserve_tabs: true
这个配置会强制Kramdown不将代码块内的制表符转换为空格,保留原始制表符,这样你就能通过CSS的tab-size属性自由控制制表符的显示宽度。
2. 兼容旧版Kramdown的替代方案
如果你的Kramdown版本低于2.3.0(不支持preserve_tabs选项),可以在代码块中用HTML制表符实体	代替实际的制表符。例如:
def bar(): 	return 4;
渲染后会生成真实的制表符,同样可以用tab-size控制宽度。
注意事项
- 列表内的代码块仍需保持正确的缩进(比如相对于列表项用1个制表符或4个空格),但开启
preserve_tabs后,代码块内部的制表符不会被替换。 - 确保你的CSS中已经设置了
tab-size,比如:
pre code { tab-size: 2; /* 自定义制表符宽度 */ }
内容的提问来源于stack exchange,提问作者Poohl
相关产品推荐
相关产品推荐

