Clerk takes a Clojure namespace and turns it into a notebook. Learn more in the Book of Clerk or read our paper.
Clerk lets you keep using your favorite editor and complements the Clojure REPL. The REPL is a peephole. See the full picture with Clerk.
Use plain Clojure namespaces that you can easily put into version control and use as library code. For text-heavy documents, Clerk supports Markdown too.
Clerk keeps the feedback loop short by only computing what's changed using a dependency graph of Clojure vars. This enables caching executions across JVM restarts and machines.
Supports Markdown, Grid, HTML, Hiccup, SVG, Vega, Images, Plotly, TeX, tables, you name it. Plus, Clerk doesn't break a sweat when zooming into moderately-sized datasets.
Create custom viewers for your problem at hand. Clerk's viewer API is extensible via predicate functions, not only acting on types but also on values. Build stateful viewers with Reagent and dynamically import JavaScript libraries.
Produce static HTML pages and serve them from your local file system or any static webserver. If you like it batteries-included, take a look at clerk.garden, Clerk's simple GitHub-based publishing platform.
Clerk is compatible with any Clojure and JVM library enabling these amazing use cases by composing libraries from Clojure's eco-system.
Exploring the world in data using Vega, meta-csv and parsing Excel files with Docjure
Huge shoutout to @usenextjournal for https://t.co/GAeLVdlk0F, which is making the training of junior #Clojure programmers a massive pleasure!
— Robert Stuttaford (@RobStuttaford) September 26, 2022
Here's a fun #clojure notebook with @usenextjournal's Clerk. Reactive UI, and changes you make in the browser save back to the file. I think there's some fun potential with an approach like this. My next steps will be to make the connection more reliable :) pic.twitter.com/XAwWjCyht6
— adam-james (@RustyVermeer) July 7, 2022
- this is what @girba calls "moldable development" — thanks to work of @mkvlr@jackrusher on Clerk, we can get similar dynamics of development as GT/Smalltalk
— Gene Kim (@RealGeneKim) May 1, 2022
I present this to @girba and @ericnormand here: https://t.co/emrIV3VEas
Really impressed with how @usenextjournal progressed from being "an alternative" to being at the forefront of notebooks and by far the most Clojurey of them all. We really need work like that in the Clojure data ecosystem. https://t.co/hNf9vygq8S
— Simon Belak (@sbelak) June 28, 2021