kramdown在插入的代码块中将制表符转换为空格



我使用jekyll,它反过来使用kramdown将markdown转换为html,我无法获得以下示例正确渲染:我使用t显示选项卡,s显示空间

*tHere is some code in a list:
t```python
tdef bar():
ttreturn 4;
```

应该呈现为

  • 下面是列表中的一些代码:
    def bar():
    treturn 4;
    

但是我最终得到

  • 下面是列表中的一些代码:
    def bar():
    ssssreturn 4;
    

这里的问题对我来说,我想使用css属性tab-size来配置制表符的宽度,但这显然不适用于空格。

我假设这是与kramdown的假设,制表符是4个空格宽?

我也试过用不同数量的制表符缩进列表的标题,就像在kramdown建议的那样,在列表项中嵌入一个代码块,用适当的缩进,但没有任何运气。

是否有一些选项禁止kramdown用空格替换制表符?或者有其他办法阻止它这样做?

这不是一个完美的解决方案,但是可以产生期望的输出:

通过使用空格缩进,制表符被保留为我想要的。

*sHere is some code in a list:
ss```python
ssdef bar():
sstreturn 4;
ss```

由于某种原因产生所需的输出。然而,这可能不稳定,因为https://kramdown.gettalong.org/syntax.html#usage-of-tabs明确声明";[空格后的制表符]的结果可能是意外的"。

@Benjamin w.GFM的行为与我的测试完全相同。

最新更新