Doxygen vs. Sphinx+Breathe

LinuxCon Japan 2016でLinux Kernelの文書でSphinxが使われていることをしった。 ソースコードのドキュメント化にはDoxygenがメジャーだったが,SphinxではBreatheという拡張機能を使うことで,Doxygenの結果をSphinxで取り込むことができる。 そこで,DpxygenとSphinx+Breatheのどちらがよいか考えてみた。 続きを読む
0
. @senopen

Breathe’s documentation — Breathe 'latest' documentation - breathe.readthedocs.io/en/latest/

2016-07-26 10:26:04
. @senopen

python - Has anyone used Sphinx to document a C++ project? - Stack Overflow - stackoverflow.com/questions/8350…

2016-07-26 10:32:10
. @senopen

あとはこのドメインという仕組みを使ってrstに自分で手書きするくらい。相互参照とかできるのでこれはこれで便利そう。 Sphinxドメイン — Sphinx 1.4.4 ドキュメント - docs.sphinx-users.jp/domains.html

2016-07-26 10:40:14
. @senopen

Sphinxを始めようを読み終わった。物足りない。 やっぱりSphinxのrst記法は好きになれない。アスキードックのほうがいい。 asciidocをsphinxでも扱えたらいいのだけど。asciidocももともとPython生まれだし…

2016-07-26 21:27:27
. @senopen

始める取っ掛かりとしては役立つが物足りない ソフトウェアの文書化システムとして世界中のOSSで活用...『Sphinxをはじめよう』清水川貴之、小宮健、山田... ☆3 booklog.jp/users/bksk/arc… #booklog

2016-07-26 23:38:04
. @senopen

読書感想を書いて,午前中に調べたSphinxでC++のAPIを記述する方法の調査をまとめたところでタイムオーバーか。

2016-07-27 00:11:10
. @senopen

今日は残りの時間でsphinxをソースからインストールしてみる。 明日は動物愛護のイベントだから、今日やるしかない。

2016-07-30 19:40:16
. @senopen

これがわかりやすいな。 Python: Wheel でパッケージを配布する | CUBE SUGAR STORAGE - momijiame.tumblr.com/post/908298203…

2016-07-31 01:53:04
. @senopen

Sphinxのソースからのインストール。pip+wheelというのが現代的っぽいけど,結局wheelも元ファイルいる。インストールを簡単にするだけなら,pipでもいける。 Wheelを使うと依存関係の順番を勝手に解決してくれる点。元ファイル用意する時点で依存関係把握してるからな…

2016-07-31 01:54:20
. @senopen

タイムオーバー。明日帰宅してから最優先で挑戦するか。寝よう。 明日は午前中に投票に行って,そのまま動物愛護の勉強会。パソコンもっていって休憩とかでSphinxのビルド試すか。必要なパッケージはダウンロードしたし。 @senopen

2016-07-31 02:00:58
. @senopen

Sphinxインストールができた。依存関係多すぎ… six Jinja2 Pygments docutils snowballstemmer babel alabaster imagesize requests これに追加で setuptools pip pytz

2016-07-31 11:01:58
. @senopen

eigenライブラリのページがdoxgenだけでできてるらしい。このgetting startとかどうやってるのかな c++ - What are the main differences of Sphinx and? - stackoverflow.com/questions/3157…

2016-08-04 12:03:13
. @senopen

ITK Sphinx Examples Part III: Cross-linking with Doxygen | The Kitware Blog - blog.kitware.com/itk-sphinx-exa…

2016-08-04 12:36:39
. @senopen

Eigen: Main Page - eigen.tuxfamily.org/dox/ どうかけばこうなるかソースを確認したいな。

2016-08-04 12:39:34
. @senopen

sectionとかpageコマンドがあるのね。 9353log • Cプログラマのためのdoxygen - mits-whisper.info/post/126780999…

2016-08-04 12:52:01
. @senopen

こんなイベントあったなんて知らなかった。 Sphinx/ドキュメンテーション勉強会 aial.connpass.com/event/30989/ #AIAL @senopen

2016-08-04 23:19:24
. @senopen

Eigenのソースを見てる。ああ,なるほど。 .doxというDoxygenの説明文だけを記述した文書を作り,そこでDoxygenコマンドとかHTMLで文章書いてるのか。DoxygenでHTML使うのは気持ち悪い… bitbucket.org/eigen/eigen/sr… @senopen

2016-08-04 23:33:31
. @senopen

Linux Kernelの文書をちょっと確認。カーネルのほうがDoxygenより歴史あるから独自のkernel-docを使っているのはしかたないよな。 Linux Kernel Documentation kernel.readthedocs.io/en/latest/kern… #feedly

2016-08-05 00:04:17
. @senopen

Doxygen+Sphix+Breatheの例を見ていたのだけど,なんかいまいちかな… 結局Breatheを間に挟んで嬉しいのは,Doxygenで抽出した,APIの文章を好きな場所に配置できること。でも,これをやるためだけに,Sphinxいれてrstの使い方覚えないといけない。

2016-08-05 00:11:18
. @senopen

社内にこの辺に精通している人いなさそうだし,もともとのDoxygenコマンドもあまり使いこなせていないし。ハードル高すぎるか。Linux Kernelはプロ。独自ツールでの抽出機構があるので,あれは特別か。 Breatheは利用実績もいまいちだしやめとくか。 @senopen

2016-08-05 00:12:49
. @senopen

このEigenというC++ライブラリ文書はDoxygenのお手本になる。これだけしっかりしてればマニュアルとして有用。社内のなんてただclassとか列挙してるだけで,ロジックの説明ほぼないからな…Eigen: eigen.tuxfamily.org/dox/ @senopen

2016-08-05 00:17:54
. @senopen

OpenCVは2系まではSphinxを使っていたけど,3系からDoxygenに一本化したのか。やっぱAPI文書とSphinxは相性が悪いか。 OpenCV 3.0 opencv.org/opencv-3-0.html

2016-08-06 21:33:33