python - 为网络格式化 Python 代码

标签 python html css

直到最近,我使用如下方式将 Python 代码(空格很重要)发布到 blogspot.com:

<div style="overflow-x: scroll "> 
<table bgcolor="#ffffb0" border="0" width="100%" padding="4"> 
<tbody><tr><td><pre style=" hidden;font-family:monaco;"> 
my code here 
</pre></table></div> 

大约一周前,帖子开始换行,所以所有这些都是双倍行距。使用简单的 <pre>标签不好(除了失去颜色)b/c 它也会导致双换行,而 <code>标签与空白混淆。我想我可以添加 &nbsp; *4---但 HTML 风格之神不赞成这种做法。

这个问题的标准答案(就像在 SO 上一样)是通过使用 css(我不太了解)获得语法着色或突出显示,例如在之前的 SO 问题中讨论过 here .我遇到的问题是,所有此类解决方案都需要从 Web 上的服务器加载资源。但是,如果(比如从现在起 5 年后)该资源消失了,则代码的 html 版本将根本不会呈现。如果我了解 Javascript,我想我可能会解决这个问题。

着色问题本身很简单,可以通过使用 <style> 来解决。具有各种定义的标签。但是解析很难;至少我自己尝试解析 Python 并没有取得太大进展。多行字符串是一个特别的痛苦。我可以忽略困难的案例并编写简单的代码。

TextMate 有一个命令 Create HTML from Document .结果相当冗长,但可以粘贴到帖子中。但是如果你有 3 个代码段,那么它就像 1000 行之类的。当然,这是一个文档,因此您必须在粘贴之前实际剪切。

有没有简单的 Python 解析器?更好的解决方案?

更新:我编写了自己的语法高亮解析器。也许还有一点问题,但它非常简单并且是一个独立的解决方案。我发了here . Pygments 也是一个不错的选择。

最佳答案

你为什么不使用pygments

关于python - 为网络格式化 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7134780/

相关文章:

python - Junos PyEZ 从 Python 输入密码

python - 在自定义函数上加入两个 RDD - SPARK

python - 使用 pymssql 的 Kerberos 委派(双跳)

javascript - jQuery - 根据子容器的内容向父容器添加类

php - 导航菜单不在位

php - 通过 telnet 从 python 调用 php

jquery - 是否可以制作这样的自定义子弹?

javascript - Css 或 Jquery 中图像的动画光反射

html - 使用 CSS 布局打印包含许多列/行的 HTML 表格?

javascript - 如何在javascript函数中添加和删除css类