reStructuredText ( RST、ReST、またはreST ) は、主にPython プログラミング言語コミュニティで技術ドキュメント用に使用されるテキスト データのファイル形式です。
これはPython Doc-SIG(Documentation Special Interest Group)のDocutilsプロジェクトの一部であり、JavaのJavadocやPerlのPlain Old Documentation(POD)に似たツールセットをPython用に作成することを目的としています。DocutilsはPythonプログラムからコメントや情報を抽出し、様々な形式のプログラムドキュメントにフォーマットすることができます。[2]
この意味で、reStructuredText は、 Docutils などのドキュメント処理ソフトウェアで処理可能であり、かつ Pythonソースコードを読み書きする人間のプログラマーが簡単に読めるように設計された軽量マークアップ言語です。
reStructuredTextは、 Zopeによって開発されたStructuredText [3]と呼ばれる軽量マークアップ言語から発展したものです。StructuredTextには多くの問題があり、reSTはそれらの問題を解決するために開発されました。[4] reStructuredTextという名前は、reSTが「改訂、再加工、そして再解釈されたStructuredText」であることを示すために選ばれました。[5]
reST構文の一部は、1990年代初頭のSetext言語に影響を受けています。また、 RFC822インターネットメッセージフォーマットとJavadocフォーマットの要素も設計に取り入れることが検討されました。[6]
reStructuredTextは2001年6月に初めてリリースされました。[1] Pythonコミュニティでは2002年に広く使われるようになりました。[7]
reSTパーサーのリファレンス実装は、 Python プログラミング言語の Docutils テキスト処理フレームワークのコンポーネントですが、他のパーサーも利用可能です。
DocutilsプロジェクトはreStructuredTextのMIMEタイプを登録しておらず、未登録のMIMEタイプを公式として指定していませんが、Pythonウェブサイトのビルドシステムなどで事実上text/x-rst使用されているMIMEタイプを文書化しています。 [8]同じMIMEタイプがLinuxのデスクトップ環境で使用されているfreedesktop.orgファイルタイプデータベースで使用されています。[9]別のMIMEタイプである は、reStructuredTextを表すために2003年にサードパーティによってバニティMIMEタイプとして登録され、reStructuredTextの唯一のIANA登録MIMEタイプとなっていますが、[10] Docutilsプロジェクトではそのように認められていません。[8]text/prs.fallenstein.rst
reStructuredTextは、Pythonライブラリのドキュメントなど、技術文書によく使用されます。[11]ただし、幅広いテキストに適しています。
2008 年以来、reST は Python のSphinxドキュメント生成システム の中核コンポーネントとなっています。
TracもreStructuredTextをサポートしており、[12] GitHubやBitbucketも同様です。
2011年、プロジェクト・グーテンベルクのテキストを準備していたDistributed Proofreadersは、他の電子書籍フォーマットを生成するための基本フォーマットとしてreSTの採用を検討していました。[13] [更新が必要]
2016年7月、LinuxカーネルプロジェクトはDocBookベースのドキュメントからreStructuredTextとSphinxツールチェーンに移行することを決定しました。[14] [15] [循環参照]
ソフトウェアビルドツールCMakeは、バージョン3.0でドキュメント作成にカスタムマークアップ言語からreStructuredTextを採用しました。[16]
ReStructuredTextはDavid Goodgerによって設計・実装されたものであり、このメディアタイプの登録者によるものではありません。登録者はたまたまこのメディアタイプの登録を必要としていたのです。[…] この登録の変更管理は現在Benja Fallensteinが行っています。(ReStructuredTextにもっと深く関わっている方が引き継ぎたい場合は、喜んで引き継ぎます。)