ClojureコードのAPIドキュメント生成メモ

Codoxを使って簡単に生成できる。
Compojure、Hiccup、RingもCodoxを使ってAPIドキュメント生成しているよう。

導入

  • project.clj の :plugins に以下を追記
[codox "0.6.4"]

実行

下記コマンドを実行すると、docフォルダ内にAPIドキュメントが生成される。

lein doc

なお、ドキュメント化されるVarは以下を満たすもののみである。

  • パブリックである
  • doc-stringが指定されている
  • メタデータ「:no-doc true」が指定されていない

実行オプション

project.cljに追記する形で以下のオプション指定可能。

対象の指定
:codox {:sources ["path/to/source"]}
:codox {:exclude [my.private.ns another.private.ns]}
:codox {:include [library.core library.io]}
出力内容の指定
  • 異なる出力関数を用いるように指定
:codox {:writer codox.writer.html/write-docs}
  • APIドキュメント内にソースのURIへのリンクを出力(ソースをURIで参照できる場合のみ可能)
:codox {:src-dir-uri "http://github.com/clojure/clojure/blob/master"}
    • 関数のリンクについて、その関数の定義行のアンカーにダイレクトにリンクさせる
:codox {:src-dir-uri "http://github.com/clojure/clojure/blob/master"
        :src-linenum-anchor-prefix "L"}