cljdoc betacljdoc logo

is a website building & hosting documentation for Clojure/Script libraries

Read the rationale or check out some examples: rum, kaocha, reitit.

Automated Docs

cljdoc builds documentation for new releases that are pushed to Clojars within minutes. Ever forgot to update your docs after a release? No more.

→ Basic Setup

Articles & More

Seamless integration of articles and tutorials from Markdown and Asciidoc source files.

→ Articles

Offline Docs

Download documentation for any project in a zip file for easy offline use while travelling or swinging in your hammock. Supports Dash and Zeal.

→ Offline Docs

Specs, Examples, ...

In the future cljdoc may incorporate more than just API docs and articles. Specs and examples are high on the list.

→ Roadmap

Library Authors

Learn how to publish your docs to cljdoc, integrate tutorials and other material and add a badge to your project's Readme.

Documentation for Library Authors →

Library Users

Learn where to find documentation, how to download it for offline use and more.

Documentation for Library Users →
↓ More Features ↓

Docs for every Clojure library available at a predictable, consistent location.

(str "https://cljdoc.org/d/"
     (:group-id your-project) "/"
     (:artifact-id your-project) "/"
     (:version your-project))

Platform-aware documentation, clearly indicating when things differ between Clojure & Clojurescript.

Example of platform aware documentation with rum.core

Documentation links are always tied to a specific version and old versions are kept available.

https://cljdoc.org/d/bidi/bidi/2.1.0https://cljdoc.org/d/bidi/bidi/2.1.1https://cljdoc.org/d/bidi/bidi/2.1.2https://cljdoc.org/d/bidi/bidi/2.1.3

Open Source, so the community can work together to improve or even fork cljdoc.

cljdoc is created and maintained by its contributors.

Say hi in #cljdoc on Slack. Report issues on GitHub. Check out other Clojure resources.

Support cljdoc on OpenCollective.

Generously powered by Exoscale