当我对我的ReStructured Text源运行rst2html.py时,使用它的代码块指令,它将所有的跨度和类添加到HTML中的代码位,但是实际着色这些跨度的CSS是不存在的。是否可以让RST添加CSS链接或将CSS嵌入HTML文件中?
答案 0 :(得分:7)
从Docutils 0.9开始,您可以使用code
directive。从本页的示例:
.. code:: python
def my_function():
"just a test"
print 8/2
或者,您可以使用Pygments进行语法突出显示。请参阅Using Pygments in ReST documents和this SO回答。
更新如评论中所述,要获取Pygments使用的样式文件,请使用命令
pygmentize -S default -f html -a .highlight > style.css
将生成Pygments CSS样式文件style.css
。
答案 1 :(得分:5)
在docutils 0.9和0.10中,无论您使用代码,代码块还是源代码,都不会产生影响。所有指令都被视为code role。
此命令将生成可以通过rst2html.py嵌入到html中的css。
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
匹配