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 masterYou 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:quickdocQuickdoc 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 quickdocTo 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.