我使用Pelican和pygments为我的MD文档生成语法高亮显示,但是,我在将缩进应用于缩进块时遇到了麻烦。
例如:
文字1
文字2
Code Here
文字3
10空格法非常适合将代码作为列表的子元素放置,但是,我无法应用语法高亮,就像我通常会在列表之外那样
```蟒
有人可以解释我如何将代码作为列表WITH语法高亮显示的子元素吗?
更新: 我现在已经弄明白了。对于那些在未来感到困惑的人,我的代码看起来如何。
1. MD List El 1
2. MD List El 2
3. MD List El 3
(blank line)
(2 tabs):::python
code here
(blank line)
4. MD List El 3
这样做成功为我生成了列表编号。
答案 0 :(得分:7)
Pelican的documentation州:
对于Markdown,请在代码上方添加语言标识符 阻止,缩进标识符和代码:
一段文字。
:::identifier <code goes here>
指定的标识符(例如python,ruby)应该是一个 出现在list of available lexers。
当然,在列表中嵌套该代码块需要额外的缩进级别。 Markdown的缩进级别为4个空格,因此在列表中嵌套4个空格加4个空格使其成为代码块= 8个缩进空格。
因此,这应该做的伎俩(用“·”表示的空格用于说明目的):
1。文字1
2。文字2
········
:::python
········#Code Here
3。文字3
你也可以使用标签(用“→”表示):
1。文字1
2。文字2
→→
:::python
→→#Code Here
3。文字3
如果您仍未获得语法突出显示,您确定已安装所有依赖项吗?代码突出显示由Pygments完成,除了Python-Markdown之外,还需要安装。
您还需要确保已将Pygments兼容的css文件创建/复制到项目中,并通过html模板链接到它们。我不确定Pelican是否默认给你这个,但没有它,即使它在那里也不会显示突出显示。
答案 1 :(得分:1)
Pelican似乎使用this library来支持Markdown。根据{{3}},您应该可以执行类似
的操作:::python
import re
# ...
或
#!python
import re
# ...
在任何一种情况下,你都应该得到渲染
import re
# ...
没有第一行。
如果这些不起作用,您可以尝试这种HTML注释语法,它由许多Markdown解析器支持,包括用于Stack Overflow的解析器:
* Item 1
* Item 2
<!-- language: lang-python -->
import re
# ...