如何自定义pygments的输出?

时间:2009-03-08 21:37:17

标签: python html css pygments

如果我通过pygments运行python源文件,它会输出html代码,其元素类属于某些CSS文件pygments正在使用。样式属性是否可以包含在输出的html中,这样我就不必提供CSS文件了?

4 个答案:

答案 0 :(得分:5)

通过将 noclasses 属性设置为 True ,只会生成内联样式。这是一个完成工作的片段:


formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)

答案 1 :(得分:0)

将full = True传递给HtmlFormatter构造函数。

答案 2 :(得分:0)

@Ignacio:恰恰相反:

from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter(noclasses=True))

[参考:http://pygments.org/docs/formatters/,见HtmlFormatter]

(基本上它与Tempus的答案相同,我只是认为完整的代码片段可以节省几秒钟))

PS。认为原始问题不合适的人可能会想到,例如将突出显示的代码粘贴到由第三方服务托管的博客条目中的任务。

答案 3 :(得分:-2)

通常,您的代码只是网页上的众多内容之一。您经常希望代码看起来与其他内容不同。通常,您希望将代码的样式控制为整个页面样式的一部分。 CSS是您的第一个,最佳选择。

但是,如果效果更好,您可以在HTML中嵌入样式。以下示例显示了<style>代码中的<head>代码。

http://www.w3schools.com/TAGS/tag_style.asp