如何在Kramdown中禁用缩进的代码块以便在Jekyll中使用

时间:2017-02-02 16:58:15

标签: jekyll kramdown

我想完全禁用Jekyll中使用的Kramdown的缩进代码块。我习惯使用反引号方法。我禁用缩进代码块的主要原因是我在典型的<div class="notice--danger" markdown="1"> <details> <summary> <svg class="icon"><use xlink:href="#icon-youtube-square"></use></svg> </summary> <div markdown="1"> <figure> <iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID?playsinline=1" frameborder="0"></iframe> </figure> </div> </details> </div> 中使用了相当多的html,我在下面提供了一个示例:

config.yml

问题是,在启用缩进代码块的情况下,这会被作为代码块捕获。有一个现有的解决方法,即不缩进任何上述代码,在这种情况下,它将按预期呈现。但是我想要正确地格式化代码有很多原因(最佳实践,主要是,所以我可以在像atom,vim等编辑器中折叠代码。)

有没有办法做到这一点。我找到了另外两篇帖子,说可能有办法删除kramdown的缩进代码块功能并将其加载到我的Jekyll中。但这些帖子只是说明有可能。

如果可能,我想这样做。此外,这是我的markdown : kramdown kramdown: toc_levels : 1..3 input : GFM hard_wrap : false auto_ids : true entity_output : as_char smart_quotes : lsquo,rsquo,ldquo,rdquo enable_coderay : false

中的kramdown特定部分
{{1}}

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用markdown标记属性禁用kramdown解析。

<div markdown="0">
   <p>No kramdown parsing here</p>
</div>

必读:https://kramdown.gettalong.org/syntax.html#html-blocks

答案 1 :(得分:0)

来自Kramdown的作者:

  

缩进代码块是Markdown语法的一部分,因此kramdown   和GFM解析器正在使用它们。如果你不想要它们,最简单的   方法是基于kramdown(或GFM)创建自定义解析器   解析器并删除缩进的代码块解析例程。看一看   在   https://github.com/gettalong/kramdown/blob/master/lib/kramdown/parser/markdown.rb   了解如何创建这样的自定义解析器。

来源:Ability to disable indented code blocks