如何为Python Pygments代码高亮自定义样式调整配色
Pygments自定义样式不生效解决方案及简易配色修改方法
自定义样式未生效原因排查
你当前自定义配色不生效主要有两个常见原因:
- 自定义样式类缺少正确的基类继承,需要先导入Pygments的样式基类:
from pygments.style import Style
确保你定义的MyStyle类正确继承该基类。
2. 你当前站点引用的pygments.css是默认样式导出的结果,没有使用你自定义的样式类生成。如果要使用自定义类生成样式文件,执行如下代码即可:
from pygments.formatters import HtmlFormatter # 用你自定义的MyStyle生成css formatter = HtmlFormatter(style=MyStyle) with open('pygments.css', 'w', encoding='utf-8') as f: f.write(formatter.get_style_defs('.highlight'))
替换原有站点的pygments.css文件即可生效。
更简便的指定元素配色修改方法
不需要修改Python代码、也不需要重新生成Pygments样式文件,直接在你站点的自定义CSS文件中覆写对应类的样式即可,有两种实现方式:
- 方式一:将自定义样式放在
pygments.css的引入语句之后,同权重下后续定义的样式会自动覆盖之前的样式:
/* 修改nb类(内置函数名)颜色为红色,加粗 */ .highlight .nb { color: #ff0000; font-weight: bold; } /* 修改s2类(双引号字符串)颜色为紫色 */ .highlight .s2 { color: #800080; }
- 方式二:如果不确定引入顺序,可以加
!important强制提升优先级:
.highlight .nb { color: #ff0000 !important; }
你可以根据自己的需求修改任意Pygments生成的类的样式,调整灵活度更高。
内容的提问来源于stack exchange,提问作者Yes
相关产品推荐
相关产品推荐

