See API.md.
This library came out of the desire to have a fast and light weight tool that
produces API docs from any Clojure code (.clj
, .cljs
, .cljc
) without
executing that code. This tool produces pure Markdown that you can read directly
on Github and the output does not need CSS or JavaScript.
Quickdoc's properties:
- Based on clj-kondo static analysis
- Fast to run using babashka (around 100ms for this project)
Use as a babashka dependency and task:
# bb.edn
:tasks {
,,,
quickdoc {:doc "Invoke quickdoc"
:extra-deps {io.github.borkdude/quickdoc {:git/tag "v0.2.5", :git/sha "25784ca"}}
:task (exec 'quickdoc.api/quickdoc)
:exec-args {:git/branch "master"
:github/repo "https://github.com/clj-kondo/clj-kondo"
:source-paths ["src/clj_kondo/core.clj"]}}
,,,
}
Now you can run bb quickdoc
and your API docs will be generated in API.md
.
Add the following alias to your global or project-local deps.edn
:
:aliases {
,,,
:quickdoc
{:deps {io.github.borkdude/quickdoc {:git/tag "v0.2.5" :git/sha "25784ca"}
:main-opts ["-m" "babashka.cli.exec" "quickdoc.api" "quickdoc"]}
,,,
}
Then you can call quickdoc using:
clj -M:quickdoc :github/repo https://github.com/clj-kondo :git/branch master
You can add default arguments to :exec-args
in the alias:
:quickdoc
{,,,
:exec-args {:github/repo "https://github.com/clj-kondo"
:git/branch "master"}
So the command line invocation simply becomes:
clj -M:quickdoc
Quickdoc is also available as a clj tool. Note that this way of invoking quickdoc is slower to start than with babashka.
To install the latest version, run:
clj -Ttools install-latest :lib io.github.borkdude/quickdoc :as quickdoc
To install a specific version, run:
clj -Ttools install io.github.borkdude/quickdoc '{:git/tag "v0.2.5" :git/sha "25784ca"}' :as quickdoc
Then invoke quickdoc using:
clj -Tquickdoc quickdoc '{:github/repo "https://github.com/borkdude/quickdoc"}'
Probably yes! Let me know in Github Discussions or create an issue.
See LICENSE.