Babqua is a Quarto extension for writing
Babashka code in visual documents. Each
{.clojure .bb} block in a .qmd file is evaluated by Babashka during
rendering, producing code output, charts, diagrams, tables, or computed
HTML.
Babqua is a sibling of Janqua, the same idea applied to Jank. Where Janqua targets Jank's emerging ecosystem, Babqua leans on Babashka's batteries — built-in JSON / Hiccup / EDN, and the pods ecosystem (SQLite, AWS, HTML parsing, …) — to make notebooks self-contained and reproducible.
Charts render via Plotly, Vega-Lite, ECharts, Cytoscape, or Highcharts; diagrams via Mermaid and Graphviz; tables as HTML. Rendering follows the Kindly convention, the same way Clay handles Clojure docs.
Experimental — this project is at an early stage. Currently developed and tested on Linux. Feedback and ideas are welcome via GitHub issues or the Scicloj Zulip chat.
Install the extension in your project (Quarto will ask you to confirm —
type y and press Enter):
quarto add scicloj/babquaCreate hello.qmd:
---
title: "Hello Babashka"
filters:
- bb
---
```{.clojure .bb}
(+ 1 2 3)
```
```{.clojure .bb}
^:kind/hiccup
[:div {:style "color: coral; font-size: 24px;"} "Hello from Babashka!"]
```Render it:
quarto render hello.qmdMIT