reStructuredText ( RSTReST、またはreST ) は、主にPython プログラミング言語コミュニティで技術ドキュメント用に使用されるテキスト データのファイル形式です

これはPython Doc-SIG(Documentation Special Interest Group)のDocutilsプロジェクトの一部であり、JavaJavadocPerlの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] GitHubBitbucketも同様です

2011年、プロジェクト・グーテンベルクのテキストを準備していたDistributed Proofreadersは、他の電子書籍フォーマットを生成するための基本フォーマットとしてreSTの採用を検討していました。[13] [更新が必要]

2016年7月、LinuxカーネルプロジェクトはDocBookベースのドキュメントからreStructuredTextとSphinxツールチェーンに移行することを決定しました。[14] [15] [循環参照]

ソフトウェアビルドツールCMakeは、バージョン3.0でドキュメント作成にカスタムマークアップ言語からreStructuredTextを採用しました。[16]

参照

参考文献

  1. ^ ab “Project: reStructuredText - File List”. SourceForge . 2001年10月19日時点のオリジナルよりアーカイブ2023年2月5日閲覧。
  2. ^ Mertz, David (2003-02-01). 「XML Matters: reStructuredText」. IBM developerWorks . 2016年10月5日閲覧。
  3. ^ "zope.structuredtext ドキュメント".ドキュメントを読む. 2022年8月16日閲覧。
  4. ^ Goodger, David (2016年5月24日). 「StructuredTextの問題」. Docutilsプロジェクト. 2022年8月16日閲覧
  5. ^ Goodger, David (2016年2月26日). 「Docutils FAQ (よくある質問)」. Docutilsプロジェクト. 2016年10月5日閲覧。
  6. ^ Goodger, David (2022年4月2日). 「reStructuredText構文代替案の記録」. docutils.sourceforge.io . Docutilsプロジェクト. 2022年8月16日閲覧
  7. ^ 「reStructuredText入門」Write The Docs . 2022年6月25日閲覧。
  8. ^ ab 「reStructuredTextデータの公式MIMEタイプは何ですか?」(Docutils FAQ). Docutilsプロジェクト. 2017年12月20日閲覧
  9. ^ "freedesktop.org.xml.in". shared-mime-info . freedesktop.org .
  10. ^ Fallenstein, Benja (2003-10-02). "text/prs.fallenstein.rst". IANA . ReStructuredTextはDavid Goodgerによって設計・実装されたものであり、このメディアタイプの登録者によるものではありません。登録者はたまたまこのメディアタイプの登録を必要としていたのです。[…] この登録の変更管理は現在Benja Fallensteinが行っています。(ReStructuredTextにもっと深く関わっている方が引き継ぎたい場合は、喜んで引き継ぎます。)
  11. ^ Goodger, David (2002-04-02). 「PEP 287 -- reStructuredText Docstring Format」. Python Software Foundation . 2016年10月5日閲覧。
  12. ^ "TracにおけるreStructuredTextのサポート". Trac . 2016年9月13日. 2016年10月5日閲覧
  13. ^ Newby, Greg (2011年1月8日). 「2010年12月11日の会議議事録」 . Distributed Proofreaders . 2011年1月8日閲覧。
  14. ^ 「Sphinxによるカーネルドキュメント作成、パート1:これまでの経緯」LWN.net、2016年7月6日。 2016年10月27日閲覧
  15. ^ 「Sphinx. Linuxカーネル」Wikipedia. 2024年4月2日. 2024年4月2日閲覧
  16. ^ 「CMake 3.0.0 リリースノート」. Kitware, Inc. 2014年6月10日. 2016年10月5日閲覧。
  • 参考ページ付きの公式reStructuredTextウェブサイト