Pygments

来自百合仙子's Wiki
跳转到导航 跳转到搜索

代码语法高亮,可以输出为 HTML、BBCode、ANSI转义序列LaTeX、RTF 等格式。

命令行工具

formatter 名字有:html, terminal, bbcode 等。

语法分析器

猜测语法类型

from pygments.util import ClassNotFound
from pygments.lexers import guess_lexer, guess_lexer_for_filename
try:
  lexer = guess_lexer_for_filename(fname, code)
except ClassNotFound:
  lexer = guess_lexer(code)

已知问题

渲染到 HTML 时,带行号的代码块默认使用的是表格,导致长行会伸出容器外,既不会折行也不会有滚动条,也不会隐藏。而使用 inline 方式时,行号将混在代码一起,不方便复制。MediaWiki 会专门将行号替换为伪元素来避免问题。[1]

外部链接

参考资料