6. 色々なテーマ、sphinx拡張

6.1. テーマ

6.1.1. デフォルトのテーマ

sphinxで生成するHTMLには テーマ という仕組みがあり、 テーマを切り替えることで見た目を大きく変えることができます。

テーマを変えるには、conf.pyの:

html_theme = 'default'

を変更します。

デフォルトで使えるテーマに関しては、 HTMLテーマのサポート — Sphinx v1.0.6 documentation を確認して下さい。

6.1.2. readthedocsのテーマ

サービスを展開しているだけあって読みやすいテーマです。レスポンシブ。

pip install sphinx_rtd_theme

conf.pyに以下を追加

import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

6.1.3. flaskのテーマ

非常にシンプルですが可読性は高いです。

6.2. sphinx拡張

6.2.1. blockdiagシリーズ

極めればエクセルで書いていた内容を置き換えることも夢じゃない!?そんなツール

  • ブロック図生成ツール blockdiag
  • シーケンス図生成ツール seqdiag
  • アクティビティ図生成ツール actdiag
  • ネットワーク図生成ツール nwdiag

ブロック図生成ツール blockdiag — blockdiag 1.0 documentation

各種ツール自体は独立したものですが、 sphinx拡張も用意されていてsphinxから使うことができます。

ノート

ツール自体は独立しているので、 redmineから画像生成だけさせたりすることもできます。実際プラグインもある)

6.2.2. s6でプレゼン

sphinx,reStructuredTextでスレイドも作れたら便利じゃないか、ということで javascriptで書かれたプレゼンテーション表示用ライブラリのs6を使ったsphinx拡張です。

Sphinx S6 サンプル

pip install sphinxjp.themes.s6

conf.pyの設定

extensions = ['sphinxjp.themecore']
html_theme = 's6'

以下のように書いて make html するとスライドになります。

================
スライドサンプル
================

スライド1
=========

* 項目1
* 項目2
* 項目3


スライド2
=========

* 項目1
* 項目2
* 項目3



6.2.3. RESTful HTTP APIドキュメントを作る

簡単にAPI仕様書が作れます。

また、Flaskやtornadoのルーティングを解析して仕様書にしてくれます。 Flaskなどを使う場合には非常に便利です。

sphinxcontrib.httpdomain — Documenting RESTful HTTP APIs — sphinxcontrib-httpdomain 1.2.0 documentation

pip install sphinxcontrib-httpdomain

conf.pyに追加

extensions += ['sphinxcontrib.httpdomain']
Read the Docs v: latest
Versions
latest
Downloads
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.