如何获取 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 vimwiki html /smarty 文件中包含 pygments?