reStructuredTextのソースコードをシンタックス・ハイライトする
最近、簡単な記述で書けて、HTMLなどに変換できるreStructuredTextに興味を持ちはじめた。インストール方法やら、シンタックス・ハイライトする方法やらのメモ。
実験環境
- Windows XP
- Python 2.7
docutils、pygmentsをインストールする
> easy_install docutils > easy_isntall pygments
docutils-0.8.1、pygments 1.4がインストールされた。
シンタックスハイライトするディレクティブをインストールする
pygmentsのサイトからダウンロードするページを探し、ここからbirkenfeld-pygments-main-1.4.zipをダウンロードした。解凍して、external/rst-directive.py を使う。
docutilsのディレクティブのフォルダ
C:\Python27\Lib\site-packages\docutils-0.8.1-py2.7.egg\docutils\parsers\rst\directives
に、上記で解凍した rst-directive.py をコピーする。
docutilsのディレクティブのフォルダにある __init__.py を修正する。
_directive_registry に 'sourcecode’: ('rst-directive’, 'Pygments’) を追加する。
_directive_registry = { 'sourcecode': ('rst-directive', 'Pygments'), # <-- 追加 'attention': ('admonitions', 'Attention'), .......
ハイライト用のCSSを作成する
> pygmentize -S colorful -f html -a .highlight > highlighting.css
シンタックスハイライトを試す
reStructuredTextのファイル test.rst を作る
========================= test for syntax highlight ========================= テストだよ ========== .. sourcecode:: python import sys for i in range(10): print i sys.exit()
ハイライトされたHTMlファイルを作る
> rst2html.py --stylesheet=highlighting.css test.rst > test.html
できました
ブラウザで test.html を開くと、