ドキュメントのパワーアップ

Sphinxには様々なマークアップがあります。これを利用すると、見やすく情報量の豊富なドキュメントを作ることができます。

インラインマークアップ

太字、斜体、リテラルなどが利用できます。

**太字**

*斜体*

``リテラル``

`リンク付きテキスト <http://python.org>`_

コードブロック

ライセンス文の表記や、ソースファイルなどをドキュメント中で表現する、コードブロックがあります。コロンは前の段落の末尾に付けることもできます。また、ブロックの前後には空行を入れてください。

::

   本ドキュメントはフィクションです。登場する人物、
   企業名は架空のものです。

ソースコードを入れる場合には、言語名を指定することで、コードハイライトが行えるディレクティブがあります。Pygmentsというライブラリを利用しているため、日常使われるプログラミング言語やマークアップなどはかなり網羅しています。

.. code-block:: python

   import this

リスト

バレットリスト、数字付きリスト、定義リストが利用できます。

* 宇都宮市
* 那須塩原市
* 真岡市

1. まさし
2. みんみん
#. 夢餃子(#を使うと、自動で数字が割り当てられます)

餃子
   宇都宮の名物として有名。餃子の像もある。静岡の浜松がライバル。
ジャズ
   宇都宮はジャズの町としても売り出し中。
   楽器メーカーを多数抱える静岡の浜松がライバル
焼きそば
   知る人ぞ知る宇都宮の名物。専門店多数。なぜかビニール袋で持ち帰る。

テーブル

テーブルの作成方法は様々な方法があります。

一番複雑な方法

縦横のセルの連結も表現できます。

+---------------------+
|栃木県内の勉強会     |
+========+============+
|宇都宮  |集合知勉強会|
+        +------------+
|        |Objective-C |
+--------+------------+
|西那須野|とちぎRuby  |
+--------+------------+

二番目に複雑な方法

=========== ==================================
勉強会で使う本
----------------------------------------------
言語        本の名前
=========== ==================================
Ruby        dRubyによる分散・Webプログラミング
Python      集合知プログラミング
Objective-C 詳解Objective-C 2.0
=========== ==================================

これ以外にもディレクティブを使った方法がいくつかあります。詳細はディレクティブの紹介を参照してください。

ディレクティブ

Sphinxが利用しているreStructuredTextのもっとも特徴的な機能がディレクティブです。Pythonを利用して新しいディレクティブを作ることもでき、Sphinxの拡張性の高さの源となっています。

ディレクティブの種類は多岐に渡っていて、すべてを詳解するのは難しいので、ここでは3つだけ詳解します。

すべてのディレクティブは次のような構造をしています。

.. ディレクティブ名:: オプション
   :引数:
   :パラメータ付き引数: パラメータ

   コンテンツ

ディレクティブの種類によって、オプションや引数、コンテンツが指定できるかが異なります。

画像

画像ファイルを埋め込むには、imageディレクティブを利用します。

.. image:: fighting_dogs.png

索引

indexディレクティブを設定していくと、索引を作ることができます。階層を持つ索引も表現できます。このディレクティブをセクションタイトル、表、画像などの前に置くことで、それらの要素に対してのリンクが作成されます。

pairtripleによる複数エントリー作成が強力なので、これを使うと、効率よく情報量の豊富な索引を生成できます。

.. index:: ベルモール

.. index::
   pair: 遊園地; 那須ハイランドパーク

.. index:
   triple: うさぎや; チャット; お菓子

これをビルドすると、6つの索引のエントリーが作成されます。

最初のディレクティブは「ベルモール」という項目が1つだけ作られます。

次のディレクティブは、「遊園地→那須ハイランドパーク」と、「那須ハイランドパーク→遊園地」という、階層を持つエントリーが2つ作られます。

3つめのディレクティブは、「うさぎや→チャット,お菓子」「チャット→うさぎや,お菓子」「お菓子→チャット,お菓子」という3組のエントリーが作られます。

注釈

注釈などを作成するディレクティブもあります。

.. note::
   注釈です

.. warning::
   警告です!

これ以外にも様々な種類のディレクティブがあります。ドキュメントなどを参照して、さまざまな種類のディレクティブを使ってみてください。