如何在 Pygments 中使用 Dracula 主题作为样式?

Posted

技术标签:

【中文标题】如何在 Pygments 中使用 Dracula 主题作为样式?【英文标题】:How to use Dracula theme as a style in Pygments? 【发布时间】:2020-06-24 01:55:02 【问题描述】:

我无法理解关于Pygments Styles 的文件,上面写着:

要使样式可用于 Pygments,您必须

    要么将其注册为插件(参见plugin docs) 或...将其放入文件 mondrian.py 并将此文件放入 pygments.styles 子包目录。

现在已经有了Dracula theme for Pygments,如何将其添加为新的pygments样式,以便我可以通过简单的命令行使用该样式(例如pygmentize -g xx.py)。

通过注册插件,或将dracula.py 放入pygements.styles subpackage directory(它在哪里?)。我就是不知道怎么做,也没有一个例子。

PS:我的操作系统是ubuntu-18.04,我通过sudo apt-get install python-pygments python3-pygments安装pygments

【问题讨论】:

【参考方案1】:

对于我来说(也是Ubuntu 18.04),安装目录的路径是:/usr/lib/python3/dist-packages/pygments。在那里,您会找到另一个名为 styles 的目录,其中存在所有现有的颜色主题(例如,fall.py、fruity.py)。您可以创建自己的样式(如下:https://pygments.org/docs/styles/)并将相应的样式文件存储在这里。

我希望这部分回答了您的问题。

【讨论】:

非常感谢。我通过“sudo pip3 install pygments”安装了 pygments,我的目录是“/usr/local/lib/python3.6/dist-packages/pygments/styles”。我将“dracula.py”复制到这个文件夹并修改了__init__.py,然后通过“pygmentize -P style=dracula -g”得到新的样式【参考方案2】:

这是我如何让它工作的(假设已经安装了 pygmentize)。

    运行echo hello | pygmentize -P style=does_not_exist,将输出包含styles 目录的错误。 导航到styles 目录。 下载Pigments Dracula theme,解压并复制dracula.pystyles目录。 测试echo "const result = 'success';" | pygmentize -P style=dracula,希望结果是德古拉主题!

我正在使用通过 homebrew 安装的 MacOS 和 pygmentize。

【讨论】:

以上是关于如何在 Pygments 中使用 Dracula 主题作为样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mailchimp 中使用更高级别的 pygments 语法

如何在 Hugo/Pygments 中使用“long”类名

如何在 Heroku 上使用 Pygments.rb?

如何更改 Pygments 中特定行的背景?

使用 Pygments 在 Jekyll 中突出显示围栏代码块

如何在 Pelican 中激活 Pygments?