タグ別アーカイブ: sphinx

Sphinxで始める極楽ドキュメント作り その2

pythonのdocstringからのドキュメント作成。

例えば。
pythonソース用のrstファイルを以下のように用意すると、
良い感じにdocstringからドキュメントを作成してくれる。

標準だと init はドキュメント化されない。
special-members で指定しても良いけど、面倒なので
僕は initの引数や変数は class の方に書くようにしている。

各メソッドの引数や変数は、以下の様に書くことが出来る。

Sphinx PHPもpythonみたいにソース中にドキュメントを書きたい

pythonみたいに、PHPもソース中にドキュメントを書きたい!

tk.phpautodoc を使えば出来そう。

pipでインストールできる。

そして、Sphinx の conf.py に次の設定を書き足す。

reSTファイルで

関数直前のコメントに簡単に説明を書ける。

phdoc程便利ではないにしても、無いと有るでは全然違う。
作者に感謝。

Sphinxで始める極楽ドキュメント作り

Sphinx + Jenkins で始めるドキュメントの継続的インテグレーション に感化されて。

ホイホイと brew でインストールして。。。 はいけない。
これは別のSphinx。

たいていの作業が一人プロジェクトとは言え、
コードの量がある程度大きくなって来たら、
記憶はあてにならない。

なので、ドキュメント化は必須。
出来れば作業を軽くしたいし、自動化もしたい。

これまでは org-mode から記事を抜き出して流用していたけど、
org-mode では TODOとメモ的な運用をしているし、
emacsがないと変換できないので、人にあげられない。

人にあげる時には、 org-mode から htmlやpdfに変換していたけど、 この作業が結構煩雑なので、思った通りの綺麗な文章に変換するのは
ちょっと手間だし、ついつい拘って時間をかけてしまう。
人に編集や更新してもらうことも難しい。

本当のTODOとドキュメントが混ざるのも管理しにくいので、
残す資料は、巷で流行りの Sphinx を試してみることにする。

早速、インストール。

ここで要注意。
冒頭の通りbrewに同じ名前の別のアプリがあるので、pipを使うこと。

で、インストールが済んだら、最初のドキュメント作り。

sphinx-quickstart でも雛形を作れるけど
ある程度ドキュメントを作ったことがある人なら、
2portfolio.zipのサンプルを複製する方が分り易いと思う。

他のツールでドキュメントを作ったことがある人なら、
チュートリアルで一つ一つ覚えていくより、
凡そのコマンドとドキュメントの構造が理解し易いはず。

今回の一番のおたのしみはブロック図。

org-modeでは、graphvizとplantUMLを使っていたけど、 やや癖があったり、日本語が不自由だったりするので、 もうちょいお手軽なブロック図作成スクリプトが欲しかった。

Sphinxでは、blockdiagが良く使われている様なので試してみる。

インストールしたのは、以下の作画ツール。

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

残念ながら、クラス図などにピッタリと都合が良いものは無さそう。

書式はgraphvizとほぼ同じで、テキスト状態でも内容が見易い。

さっくり日本語が出し、色や背景、各ブロックの説明一覧が簡単に追加できるなど、
とても気が効いている。