SphinxドキュメントからGitHubへリンクする
Posted: , Modified: Python Sphinx GihHub Qiita
本稿は Qiita 投稿記事 のバックアップです.
概要
Sphinx テンプレートの一つ sphinx_rtd_theme では,
メタデータ :github_url:
に URL を渡すことで,Edit on GitHub
のリンクを生成してくれる.
ではそのメタデータはどこで定義するのか?という話.
メタデータの定義
Sphinx におけるメタデータは二種類ある.一つは今回必要なテンプレートの処理に使うメタデータであり, もう一つは HTML の meta タグを出力するためのものである.
前者は,.rst
ファイルの先頭付近(A field list near the top of a file)に置く必要がある.
曖昧な表現だが,要するに他のマークアップより前に書いておけば良い.
:github_url: https://github.com/jkawamoto/roadie-gcp
.. ここから本文を始める
などとすれば良い.
ちなみに,後者の方は .. meta::
で始まるセクションに記述する.
.. meta::
:viewport: width=device-width
メタデータの一括登録
上記の通り,各 .rst
ファイルの先頭に :github_url:
メタデータを追加すれば,
生成されたドキュメントには GitHub へのリンクが付く.
しかし,一々記述するのは手間なので,rst_prolog
オプションを使って一括登録する.
conf.py
に rst_prolog
変数を定義すると,その内容を各 .rst
ファイルの先頭に追加してくれる.
よって,
rst_prolog = """
:github_url: https://github.com/jkawamoto/roadie-gcp
"""
を conf.py
に追加すれば,生成されたドキュメントの全ページに GitHub へのリンクが付く.
ちなみに生成されたドキュメントは http://jkawamoto.github.io/roadie-gcp/ のようになる.