syntax highlighting in bloggart

Elliptium は bloggart というブログエンジンをちょっと改造したもので動いています. 長らく syntax highlight の方法が分からなかったのですが, やっと分かりました.

bloggart には docutils と pygments がライブラリとして入っているので,

.. sourcecode:: <syntax type>

   hoge
   fuga

とやるだけでした.

docutils から pygments の syntax highlight 機能を利用するには http://www.deffbeff.com/blog/2009/06/using-pygments-with-docutils/ にある方法が標準的です. bloggart では rst_directive.py をモジュールが読み込まれる位置に持ってきて対応しています.

<syntax type> が取り得る文法を調べると, pygments.lexers._mapping.LEXERS という辞書を見ると良いようです. この辞書の値はタプルになっていて, 第3要素にある文字列が <syntax type> に来ることができます.

以上, ほぼ自分用のメモでした.

Comments

blog comments powered by Disqus

Licenses