読者です 読者をやめる 読者になる 読者になる

FIELD NOTES: 書を持って街へ出よう

合同会社フィールドワークス プログラマ兼代表のブログ

Jimdoでソースコードを整形して表示するならPygmentsが便利

システム運用

Webサイトにソースコードを整形して貼り付ける時の定番は,SyntaxHighlighterのようです。
ただ,SyntaxHighlighter付属のCSSファイルをサイトにアップロードする必要があり,Jimdoで使うのはちょっと面倒なので躊躇していました。

先日,Pygmentsというソフトを見つけたので試してみました。

Pygmentsとは

Pythonで作成された“syntax highlighter”で,Sphinx, rts2pdf, Trac, GitHubなど様々なプロダクトで使用されています。

以下の出力形式に対応しています。

  • HTML
  • ANSI sequences (console output)
  • LaTeX
  • RTF

また,入力として受付可能なプログラミング言語が非常に多く,OCamlにも対応しているのがポイント高いです。

インストール

easy_installがインストールされていれば,pigmentsのインストールは非常に簡単です。

$ sudo easy_install pygments

使い方

pigmentsをインストールすると,pygmentizeというコマンドラインプログラムが作られます。

以下のように実行すると,HTMLのコード片が作成されます。

$ pygmentize -f html -l ruby -o foo.html foo.rb

出力されたHTMLを表示するのに必要なスタイル指定は,以下のコマンドで作成できます。
`default'スタイルでは,61行のコンパクトなCSSが出力されました。

$ pygmentize -S default -f html > pygments.css

スタイル指定を含んだHTMLを出力したい場合は`-O full'オプションを付けます。

$ pygmentize -f html -O full -l ruby -o foo.html foo.rb

Jimdoでの設定

CSSの設定

Jimdoの管理画面の「独自画面/CSS」に,先ほど作成したCSSの中身をペーストします。

ソースコードの貼りつけ

ソースコードを貼りつけたい場所で「ウィジェット」を追加し,pygmentizeで作成したHTMLをペーストします。

fet2011-12-21