1

我正在尝试pygments通过命令行工具pygmentize使用以下命令将 python 文件转换为 html 文件:

pygmentize -f html -O full -O linenos=1 out_file.html in_file.py

不幸的是,默认字体大小太小,我不知道如何增加它。使用-O fontsize=16不会产生错误,但也没有效果。

html *{font-size: 1.05em !important;}此外,我通过插入html 文档的 css 部分尝试了一个丑陋的补丁,但这会影响行号布局。

我可以通过 python 终端调用“pygments”,但不知道如何将命令行实现到 python 代码中

4

1 回答 1

1

好的,我使用以下 python 代码解决了这个问题:

from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import get_formatter_by_name

lexer = get_lexer_by_name('python')
formatter = get_formatter_by_name('html', linenos='inline', full=1)

with open("conver_me.py", 'r') as f_in:
    code = "".join(f_in.readlines())

with open("output.html", 'w') as f_out:
    highlight(code, lexer, formatter, f_out)

然后我添加了这条线

html *{font-size: 1.05em !important;}

进入 html 文档的 css 部分并调整表格填充

span.lineno { background-color: #f0f0f0; padding: 0px 5px 5px 5px; }
于 2020-10-13T21:35:11.350 回答