`pymdownx.highlight` --- 我在哪里可以找到围栏块上语法突出显示使用的 "highlight" 样式表?
`pymdownx.highlight` --- where do I find the "highlight" stylesheet used by syntax highlighting on fenced blocks?
我一直在尝试编写一个 Flask 应用程序,它可以自动将 Markdown 转换为 HTML 将作为响应。
考虑以下玩具片段:
import markdown
md = markdown.Markdown(extensions=['pymdownx.superfences'])
s = '''
```py3
import hello_world
\``` # ignore the backslash here
'''.strip()
print(md.convert(s))
它产生以下输出:
<div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">hello_world</span>
</code></pre></div>
注意 div
中的 class="highlight"
。我生成的 HTML 没有语法突出显示,显然 --- 因为我没有定义“突出显示”class 的样式表。但是对于我来说,我无法弄清楚我应该用 pymdownx
做什么才能找到带有 highlight
的样式表。我需要访问 属性 或函数吗?我需要自己在 CSS 中添加一些单独的内容吗?
我很迷茫,所以任何帮助将不胜感激。
包含 highlight
class 以便该块可以被 JavaScript 代码格式化程序作为目标,例如 highlight.js。此处的实际突出显示出现在生成的输出中的 span
classes 中,例如 kn
和 nn
。您可以使用 Pygments 生成样式表,如下所示:
pygmentize -S default -f html > desired/path/to/stylesheet.css
其中包括(除其他外)规则:
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
我一直在尝试编写一个 Flask 应用程序,它可以自动将 Markdown 转换为 HTML 将作为响应。
考虑以下玩具片段:
import markdown
md = markdown.Markdown(extensions=['pymdownx.superfences'])
s = '''
```py3
import hello_world
\``` # ignore the backslash here
'''.strip()
print(md.convert(s))
它产生以下输出:
<div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">hello_world</span>
</code></pre></div>
注意 div
中的 class="highlight"
。我生成的 HTML 没有语法突出显示,显然 --- 因为我没有定义“突出显示”class 的样式表。但是对于我来说,我无法弄清楚我应该用 pymdownx
做什么才能找到带有 highlight
的样式表。我需要访问 属性 或函数吗?我需要自己在 CSS 中添加一些单独的内容吗?
我很迷茫,所以任何帮助将不胜感激。
包含 highlight
class 以便该块可以被 JavaScript 代码格式化程序作为目标,例如 highlight.js。此处的实际突出显示出现在生成的输出中的 span
classes 中,例如 kn
和 nn
。您可以使用 Pygments 生成样式表,如下所示:
pygmentize -S default -f html > desired/path/to/stylesheet.css
其中包括(除其他外)规则:
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */