Jekyll围栏代码块kramdown问题

时间:2017-06-22 08:07:26

标签: jekyll codeblocks kramdown

我正在努力使用围栏代码块突出显示。你能帮我弄清楚我做错了什么吗?

当我使用液体标签时代码突出显示效果很好:{%highlight lang%} {%endhighlight%},但这种方法打破了列表(这是一个已知问题)。 最困扰我的是,当我使用kramdown + rouge语法时,它根本不会突出显示代码。

以下是jekyll解析两种方式的方法:

  1. Kramdown + rouge语法

    ```xml
    <intent-filter>
        <action android:name="some.event" />
    
        <category android:name="some.event" />
    </intent-filter>
    ```
    

    html output for kramdown

  2. 液体语法

    {% highlight xml %}
    <intent-filter>
        <action android:name="some.event" />
    
        <category android:name="some.event" />
    </intent-filter>
    {% endhighlight %}
    

    html output for liquid

  3. 我在代码块之前和之后尝试过任何空白行和空格的组合,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:1)

您为kramdown + rouge结果链接的图像仅部分显示了kramdown输出(即仅<div ...>...</div>)。但是,我猜测结果如下:

<div class="language-xml highlighter-rouge"><span class="nt">&lt;intent-filter&gt;</span>
<span class="nt">&lt;action</span> <span class="na">android:name=</span><span class="s">"some.event"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;category</span> <span class="na">android:name=
</span><span class="s">"some.event"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/intent-filter&gt;</span>
</div>

如果是,结果语法高亮显示通过kramdown的rouge。您可能只需要包含正确的CSS样式。为此,this blog post可能会有所帮助。