【发布时间】:2010-10-12 01:56:07
【问题描述】:
如果我通过 pygments 运行 python 源文件,它会输出 html 代码,其元素类属于 pygments 正在使用的某些 CSS 文件。是否可以将样式属性包含在输出的 html 中,这样我就不必提供 CSS 文件了?
【问题讨论】:
如果我通过 pygments 运行 python 源文件,它会输出 html 代码,其元素类属于 pygments 正在使用的某些 CSS 文件。是否可以将样式属性包含在输出的 html 中,这样我就不必提供 CSS 文件了?
【问题讨论】:
通常,您的代码只是网页上众多内容之一。您经常希望代码看起来与其他内容不同。通常,您希望将代码的样式控制为整体页面样式的一部分。 CSS 是您的首选,最好的选择。
但是,如果看起来更好,您可以将样式嵌入 HTML 中。这是一个在<head> 标记中显示<style> 标记的示例。
【讨论】:
通过将 noclasses 属性设置为 True,只会生成内联样式。这是一个可以很好地完成工作的 sn-p:
formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)
【讨论】:
将 full=True 传递给 HtmlFormatter 构造函数。
【讨论】:
@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的回答一样,我只是觉得一个完整的代码sn-p可能会节省几秒钟))
PS。那些认为原始问题不合适的人可能会想象,例如将突出显示的代码粘贴到由第三方服务托管的博客条目中的任务。
【讨论】: