reStructuredText

reStructuredText というのは文書をその構造表現とともに記述するためのテキスト形式で、Python コード内にドキュメントを埋め込む目的で考案されたものです。Python の世界で構造化テキストといえば、通常これを指します。 reStructuredText パーサは Python モジュール docutils (Python Documentation Utilities) 中のコンポーネントとして配布されています。

PyDS では Wiki だけに限らず、ほとんどの文書コンテンツを reStructuredText として入力できるようになっており、自動的に Valid な HTML への変換をおこなってくれます。

以下はその基本的な記述方法の解説です。

パラグラフ

文書のパラグラフとパラグラフの間は空行を入れて入力します。次の入力例と実際の表示を比較してみてください。

入力:

最初のパラグラフです。途中で
改行していますが、表示の際は連結され
単一のパラグラフとして表示されます。

  2 番目のパラグラフは字下げしています。

3番目のパラグラフでは
字下げのレベルを元に戻しています。

表示:

最初のパラグラフです。途中で 改行していますが、表示の際は連結され 単一のパラグラフとして表示されます。

2 番目のパラグラフは字下げしています。

3番目のパラグラフでは 字下げのレベルを元に戻しています。

文字の修飾

アスタリスクで文字を囲むと、イタリック体やボールド体で文字を修飾できます。アスタリスクで囲んだ文字そのものを表示したいときは、2個のバッククォートで囲むと内容がそのまま表示されます。

入力:

*イタリック体で表示*

**ボールド体で表示**

``*アスタリスクで囲んだ文字をそのまま表示*``

表示:

イタリック体で表示

ボールド体で表示

*アスタリスクで囲んだ文字をそのまま表示*

reStructuredText は英語のように単語を空白で区切る言語を念頭において設計されているため、アスタリスクで囲む文字の前後に空白(または行頭や行末)がないと期待した結果が得られません。

入力:

前後に*空白*がない場合

前後に *空白* を入れた場合

表示:

前後に*空白*がない場合

前後に 空白 を入れた場合

リスト

リストの記述にもアスタリスクを使用します。アスタリスクの前後は空白でなければなりません。リストの各要素間には空行を入れません。

入力:

* 最初の項目
* 2番目の
  項目

  リスト中に複数のパラグラフを
  作成するには空行を入れて
  字下げのレベルを合わせます。
* 3番目の項目

  * サブリストの最初
  * サブリストの2番目
* 4番目の項目

表示:

  • 最初の項目

  • 2番目の 項目

    リスト中に複数のパラグラフを 作成するには空行を入れて 字下げのレベルを合わせます。

  • 3番目の項目

    • サブリストの最初

    • サブリストの2番目

  • 4番目の項目

番号付きリストは数字とピリオドを使って記述します。その前後には必ず空白を入れます。

入力:

1. 最初の項目
2. 2番目の項目

   複数のパラグラフを記述するときは

   字下げのレベルを合わせます
3. 元のレベル

表示:

  1. 最初の項目

  2. 2番目の項目

    複数のパラグラフを記述するときは

    字下げのレベルを合わせます

  3. 元のレベル

上記入力例の結果として出力される HTML は次のようになります。

HTML 出力:

<ol class="arabic">
<li><p class="first">最初の項目</p></li>
<li><p class="first">2番目の項目</p>
    <p>複数のパラグラフを記述するときは</p>
    <p>字下げのレベルを合わせます</p></li>
<li><p class="first">元のレベル</p></li>
</ol>

定義名の次に空行を入れず、字下げして内容を記述すると定義リストになります。

入力:

定義名1
  定義1の内容
定義名2
  定義2の内容

表示:

定義名1

定義1の内容

定義名2

定義2の内容

整形済みテキスト

プログラムのコードや reStructuredText による入力内容そのものを表示したいときは、その直前のパラグラフの最後を :: にし、続くパラグラフの整形済みテキストは字下げのレベルを一段下げて入力します。

入力:

整形済みテキスト::

  *アスタリスク* で囲んでも **そのまま** 表示
  改行
  も入力した通り表示されます

字下げレベルを戻すと *再び*
整形処理後出力
されるようになります

表示:

整形済みテキスト:

*アスタリスク* で囲んでも **そのまま** 表示
改行
も入力した通り表示されます

字下げレベルを戻すと 再び 整形処理後出力 されるようになります

上記方法の場合、直前のパラグラフの最後に : が出力されます。: を出力したくないときは、 :: だけを独立したパラグラフとして入力してください。

入力:

整形済みテキスト

::

  *アスタリスク* で囲んでも **そのまま** 表示
  改行
  も入力した通り表示されます

表示:

整形済みテキスト

*アスタリスク* で囲んでも **そのまま** 表示
改行
も入力した通り表示されます

見出し

見出し文字列の次の行に =、-、~ を使ってアンダーラインのように入力するとそれは見出しとして扱われ、PyDS はそれぞれを HTML の h2、h3、h4 要素へ変換して出力します。

入力:

見出し1
=======

見出し1.1
---------

見出し1.1.1
~~~~~~~~~~~

見出し1.2
---------

見出し2
=======

HTML 出力:

<h2><a name="id1">見出し1</a></h2>

<h3><a name="id2">見出し1.1</a></h3>

<h4><a name="id3">見出し1.1.1</a></h4>

<h3><a name="id4">見出し1.2</a></h3>

<h2><a name="id5">見出し2</a></h2>

リンク

HTML のリンクを作成したいときはリンク対象文字列の直後にアンダースコアを入力します。文字列の前後は空白でなければなりません。空白を含む文字列をリンク対象に指定するときはバッククォートで囲みます。

リンク先の定義は .. で始まる独立したパラグラフにします。リンク対象文字列の直前にアンダースコアを入れ、コロンとスペースの後に URL を記述します。

入力:

PyDS_ は `Radio Userland`_ 互換のソフトウェアです。

.. _PyDS: http://pyds.muensterland.org/

.. _`Radio Userland`: http://radio.userland.com/

表示:

PyDSRadio Userland 互換のソフトウェアです。

最終更新 2004-02-09 20:44:00

Yasushi Iwata のウェブログです。

XML-Image Letterimage

© 2007, Yasushi Iwata