Как я могу получить rst2html.py включить CSS для подсветки синтаксиса?
когда я бегу rst2html.py против моего реструктурированного источника текста, с его директивой code-block, он добавляет все пяди и классы к битам кода в HTML, но CSS для фактической окраски этих пядей отсутствует. Можно ли сначала добавить ссылку CSS или встроить CSS в HTML-файл?
2 ответов
начиная с Docutils 0.9 вы можете использовать code
директива. Из примера на этой странице:
.. code:: python
def my_function():
"just a test"
print 8/2
кроме того, вы можете использовать Pygments для подсветки синтаксиса. См.использование пигментов в документах ReST и этой так ответь.
наконец, вы также можете использовать код этой или этой blogpost.
обновление как уже обсуждалось в комментариях, чтобы получить стиль файл, используемый Pygments используйте команду
pygmentize -S default -f html -a .highlight > style.css
который будет генерировать файл стиля CSS Pygments style.css
.
в docutils 0.9 и 0.10 не имеет значения, используете ли вы код, блок кода или исходный код. Все директивы считаются роль код.
эта команда создаст css, который может быть встроен в html rst2html.py.
pygmentize -S default -f html -a .code > syntax.css
эта команда будет генерировать html:
rst2html.py --stylesheet=syntax.css in.txt > out.html
по умолчанию rst2html.py
выводит пяди с именами классов, такими как comment
, number
, integer
и operator
. Если у вас есть docutils.conf
в том же каталог в качестве источника, или /etc
или ~/.docutils
С
[parsers]
[restructuredtext parser]
syntax_highlight=short
... тогда имена классов будут c
, m
, mi
и o
что соответствует syntax.css
создается с помощью pygmentize
.