如何自定义 pygments 的输出?

发布于 2024-07-14 21:33:37 字数 120 浏览 9 评论 0原文

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

If I run a python source file through pygments, it outputs html code whose elements class belong to some CSS file pygments is using. Could the style attributes be included in the outputted html so that I don't have to provide a CSS file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

沧桑㈠ 2024-07-21 21:33:37

通过将 noclasses 属性设置为 True,将仅生成内联样式。 这是一个可以很好地完成工作的片段:


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

By setting the noclasses attribute to True, only inline styles will be generated. Here's a snippet that does the job just fine:


formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)
喜你已久 2024-07-21 21:33:37

@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。 那些认为原始问题不恰当的人可能会想象将突出显示的代码粘贴到第三方服务托管的博客条目中的任务。

@Ignacio: quite the opposite:

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))

[ ref.: http://pygments.org/docs/formatters/, see HtmlFormatter ]

( Basically it is the same as Tempus's answer, I just thought that a full code snippet may save a few seconds ) )

PS. The ones who think that the original question is ill-posed, may imagine e.g. the task of pasting highlighted code into a blog entry hosted by a third-party service.

绿萝 2024-07-21 21:33:37

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

Pass full=True to the HtmlFormatter constructor.

云归处 2024-07-21 21:33:37

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

不过,如果看起来更好,您可以将样式嵌入 HTML 中。 下面的示例显示了 标记中的

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

Usually, your code is only one of many things on a web page. You often want code to look different from the other content. You, generally, want to control the style of the code as part of the overall page style. CSS is your first, best choice for this.

However, you can embed the styles in the HTML if that seems better. Here's an example that shows the <style> tag in the <head> tag.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文