目次

前のトピックへ

reST 文法メモ

次のトピックへ

reST と CotEditor

このページ

Pygments による コードハイライト表示

引用元:pygments.org <http://pygments.org/languages/>

コードサンプル表示

Pythonのソースコードや、インタラクティブモードのセッションを表現するのには、標準のreSTのリテラルブロックを使用します。リテラルブロックは前の段落の末尾を :: にして、インデントにすることで開始されます。

ghlight ディレクティブを以下のようにして変更することができます:

.. highlight:: c

ここで設定された言語は、次に highlight ディレクティブが実行されるまで有効です。

様々な言語のコード片がドキュメント中に登場する場合には、 code-block ディレクティブを使用すると、その場でハイライトしたい言語を与えることができます:

.. code-block:: ruby

  Rubyのプログラム

このディレクティブのエイリアスの sourcecode も同じように動作します。

行番号

もしインストールされていれば、Pygmentsはコードブロックに対して行番号を発生させることができます。自動ハイライトブロック( :: で開始されるもの)を使用している場合には、 highlight ディレクティブの中で、 linenothreshold オプションを使って機能を有効にする必要があります:

.. highlight:: python
  :linenothreshold: 5

この設定では5行以上あるコードブロックのすべてに対して、行番号が生成されるようになります。

code-block ブロックを使用している場合には、 linenos フラグオプションを使用すると、個別のブロックの行番号表示を有効にできます:

.. code-block:: ruby
  :linenos:

  Rubyのコード

行番号をつけた時のサンプル

1
2
3
4
.. code-block:: ruby
  :linenos:

  Rubyのコード

Pygments の サポートしている言語

Programming languages

ActionScript Ada ANTLR AppleScript Assembly (various) Asymptote Befunge Boo BrainFuck C, C++ C# Clojure CoffeeScript ColdFusion Common Lisp Cython D Delphi Dylan Erlang Fortran Gherkin (Cucumber) GL shaders Haskell (incl. Literate Haskell) Io Java JavaScript LLVM Logtalk Lua Matlab MiniD Modelica Modula-2 MuPad Objective-C Objective-J OCaml PHP Perl PovRay Prolog Python 2.x and 3.x (incl. console sessions and tracebacks) Rebol Redcode Ruby (incl. irb sessions) S, S-Plus, R Scala Scheme Smalltalk Tcl Vala Visual Basic.NET XQuery

Template languages

Cheetah templates Django/Jinja templates ERB (Ruby templating) Genshi (the Trac template language) JSP (Java Server Pages) Myghty (the HTML::Mason based framework) Mako (the Myghty successor) Smarty templates (PHP templating)

Other markup

Apache config files Bash shell scripts BBCode CMake CSS Debian control files Diff files Gettext catalogs Gnuplot script Groff markup HTML INI-style config files IRC logs (irssi style) Lighttpd config files Makefiles MoinMoin/Trac Wiki markup MySQL Nginx config files POV-Ray scenes Ragel Redcode ReST SQL, also MySQL, SQLite Squid configuration TeX tcsh Vim Script Windows batch files XML XSLT YAML