如何获取 pygments 格式化程序的 css?

Posted

技术标签:

【中文标题】如何获取 pygments 格式化程序的 css?【英文标题】:How do I get the css for a pygments formatter? 【发布时间】:2015-06-25 23:25:46 【问题描述】:

我正在以http://pygments.org/docs/quickstart/ 的基本方式使用 pygments

我的格式化程序是这样创建的:

                formatter = htmlFormatter(cssclass="codehilite", linenos='table',
                    linenostart = lineno - len(excerpt) + 1,
                    hl_lines = important_lines,
                    style='colorful')           

它工作正常,但我没有从输出中得到任何 CSS,只有类。我在哪里获得 CSS?我想把它放在我的 HTML 文件的<head> 中,所以我不需要单独的 .css 文件。我从pygments.highlight() 得到的只是:

<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>44
45
46
47
48
49
50
51
52
53
54
55
56
57</pre></div></td><td class="code"><div class="codehilite"><pre><span class="cm">/* *********** Interrupt Service Routines *********************************** */</span>

<span class="cm">/**</span>
<span class="cm"> * UART1_RX interrupt service routine.</span>
<span class="cm"> * Clears the UARTRX interrupt flag and disables the interrupt.</span>
<span class="cm"> */</span>
<span class="n">UART1_RXISR_FUNCTION_HEADER</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p"></span>
    <span class="n">UART1_DISABLE_IRQ_RX</span><span class="p">;</span>
    <span class="n">UART1_CLEAR_IRQ_RX_FLAG</span><span class="p">;</span>
<span class="p"></span>

<span class="o">/**</span> 
 <span class="o">*</span> <span class="n">UART1_TX</span> <span class="n">interrupt</span> <span class="n">service</span> <span class="n">routine</span><span class="p">.</span>
</pre></div>
</td></tr></table>

【问题讨论】:

和 hl_lines 似乎没有做任何事情:( 【参考方案1】:

除非您在格式化程序中使用full=True 选项,否则您可以获得这样的 CSS:

the_css = formatter.get_style_defs()

然后你可以将它插入到你的html header中。

【讨论】:

【参考方案2】:

您可以从 GitHub 上的 pygments-css 存储库获取预生成的 CSS。 (https://github.com/trentm/python-markdown2/wiki/fenced-code-blocks 建议的提示。)

【讨论】:

【参考方案3】:

Pygments 使用样式类来生成 CSS。

http://pygments.org/docs/styles/

【讨论】:

以上是关于如何获取 pygments 格式化程序的 css?的主要内容,如果未能解决你的问题,请参考以下文章

wxPython中的Pygments?

如何自定义 Pygments css 类输出

如何在 vimwiki html /smarty 文件中包含 pygments?

Pygments 代码块格式化程序为 Markdown 代码块添加了奇怪的空格

python语法高亮使用Pygments程序

pygments HTML的CSS样式