针对 Web 格式化 Python 代码

2023-11-21

直到最近,我使用如下内容将 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它还会导致双换行符,而a<code>标签与空白混淆。我想我可以添加&nbsp;*4——但是 HTML 风格之神对此不以为然。

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

着色问题本身是微不足道的,可以通过使用来解决<style>具有各种定义的标签。但解析是困难的;至少我自己尝试解析Python并没有取得太大进展。多行字符串尤其令人痛苦。我可以忽略困难的情况并编写简单的代码。

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

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

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


你为什么不使用pygments?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

针对 Web 格式化 Python 代码 的相关文章

随机推荐

  • 在python中添加背景图像

    我正在尝试用 Python 将背景图像添加到画布上 到目前为止 代码如下所示 from Tkinter import from PIL import ImageTk Image other stuffs root Tk canvasWidt
  • 如何将VBA集合写入Excel工作表[重复]

    这个问题在这里已经有答案了 我正在修改一些现有代码 此代码从预先存在的工作表中创建行的集合 它创建一个大型的二维集合 每列中都有不同的信息 有一个单独的类模块声明每列的数据类型 该代码通过依次循环遍历每个项目 将二维集合写入新工作表 我以前
  • SQL Server 和 REAL 数据类型的舍入问题

    在 SQL Server 2008 中舍入时 我看到一些奇怪的行为 给出以下代码 DECLARE Value REAL SELECT Value 35 SELECT ROUND Value 1 我预计该值为 0 4 但它输出为 0 3 我必
  • Android Facebook 单点登录 - 可以使用多个密钥哈希吗?

    我们正在为我们的一款 Android 应用程序使用 Facebook SSO 单点登录 它运行良好 只是我们有 3 名开发人员使用调试密钥构建应用程序 然后使用我们为市场签名的发布密钥 有没有什么方法可以让 facebook SSO 使用多
  • new BigInteger(String) 性能/复杂性

    我想知道性能 复杂 of 构造大整数对象与new BigInteger String 构造函数 考虑以下方法 public static void testBigIntegerConstruction for int exp 1 exp l
  • 使用变量加载数据内文件

    我试图使用 LOAD DATA INFILE 作为存储过程 但似乎无法完成 然后我尝试了将代码嵌入到应用程序本身的常用方法 如下所示 conn new MySqlConnection connStr conn Open MySqlComma
  • jq 读取 .txt 文件并将值写入 json 文件

    我想用jq解析一个 txt包含国家 地区代码列表的文件 并将它们写入 JSON 对象中的值 这是我到目前为止所拥有的 cat myfile json jq R f test id txt select country country tes
  • 单词混淆算法

    给定一个混乱的单词 即 ofbaor 如何解读字母以创建一个真正的单词 即 foobar 我可以看到这有几种方法 我想我知道如何在 NET 中做到这一点 但我很好奇其他一些解决方案是什么样的 总是很高兴看到我的解决方案是否是最佳的 这不是家
  • netcat 的新行问题 [已关闭]

    Closed 这个问题是无关 目前不接受答案 我正在使用下面的命令将一些字符串发送到 udp 侦听服务器 回声 A 192 168 192 168 数控 u 192 168 2 1 1234 但服务器在回显字符串中出现尾随 n 我也尝试过下
  • 无法安装适用于 AMD 处理器的 Android 仿真器管理程序驱动程序

    我无法安装适用于 AMD 处理器的 Android 仿真器管理程序驱动程序 需要注意的是 虚拟化是启用的 Emulator Process for AVD was killed运行代码时显示Visual Studio尝试在 Android
  • 睡眠直到特定时间/日期

    我希望我的 bash 脚本休眠到特定时间 所以 我想要一个像 sleep 这样的命令 它不需要间隔 但有一个结束时间 并一直睡眠到那时 at 守护进程不是解决方案 因为我需要阻止正在运行的脚本直到某个日期 时间 有这样的命令吗 正如 Out
  • 如何使用 has_many :through 和 Honor :conditions 创建新记录?

    假设我有一门课程 学生可以通过会员身份注册 例如课程和学生的 has and belongs to many 关系 有些会员资格是针对只是旁听课程的学生 不是为了学分等 因此 class Course lt ActiveRecord Bas
  • 如何在 Angular 5 的纯管道中使用 HTTP 调用

    我正在创建一个管道来将一种货币价值转换为另一种货币价值 我正在进行 HTTP 调用来转换值 Pipe name currencyConverter export class CurrencyConverterPipe implements
  • 测试场景和测试用例有什么区别?

    我对测试场景和测试用例有点困惑 它们之间有什么区别 假设我必须测试一盒火柴 我说的对吗 以下是测试场景的示例 盒子里能装 x 根火柴吗 假设盒子是关闭的 我用力摇晃它 火柴还在盒子里吗 您能给我测试场景和测试用例的示例吗 Example 您
  • MySQL的不同引号

    我对 MySQL 有点陌生 只是想知道它们之间有什么区别 当我在查询中使用它们时 用 你可以写 mysql 变量名 用 你写mysql变量值 例如 SELECT FROM test WHERE x 1
  • 如何使用 Inno Setup 安装 Windows 服务?

    我编写了一个批处理脚本 在使用 Inno Setup 进行安装后执行 问题是我有以下命令行用于创建服务 sc create MySQL start auto DisplayName MySQL binPath C MyApp MySQL 5
  • 检查 Cypress 中的单选按钮

    我对 Javascript 非常陌生 这是我使用 Cypress 的第二周 所以我需要帮助来单击单选按钮 我总是从赛普拉斯那里收到错误 我试图检查的元素如下所示
  • 错误代码:1406。列数据太长 - MySQL

    错误代码 1406 数据对于列来说太长 CREATE TABLE TEST idTEST INT NOT NULL TESTcol VARCHAR 45 NULL PRIMARY KEY idTEST Now Insert一些价值观 INS
  • 在 django 中格式化未修饰的电话号码?

    我有一个数据库 其中包含完整的电话号码作为字符串 它们的格式都类似于 1112223333 我想在我的 django 模板中将其显示为 111 222 3333 我知道我能做到 n contacts objects get name nam
  • 针对 Web 格式化 Python 代码

    直到最近 我使用如下内容将 Python 代码 空格很重要 发布到 blogspot com div table border 0 width 100 tbody tr td pre style font family monaco my