Skip to content

Oxiquill

Oxiquill publishes technical notes as a static Astro Starlight site. A note can stay prose-first while still including executable Rust, Python, and Haskell cells, mathematical notation, Mermaid diagrams, images, PDFs, tables, charts, JSON, and sandboxed HTML output.

The authoring model is intentionally close to Markdown. Writers add MDX pages, describe executable cells with leading metadata comments, and let the build generate the browser runtime. English pages live under content/docs; Japanese translations use the same route under content/docs/ja.

Oxiquill is useful when documentation needs to explain a concept and show a runnable result in the same page:

  • Learning notes that combine explanation with short Rust, Python, or Haskell experiments.
  • Numerical or data notes that need formulas, parameters, tables, and charts.
  • Project documentation that should remain static but still offer interactive examples.
  • Bilingual documentation where English and Japanese pages should follow the same structure.
  • Rust cells are compiled to WebAssembly at build time and executed in the browser.
  • Python cells run in a Pyodide worker and can load vendored packages such as numpy, pandas, and matplotlib.
  • Haskell cells are compiled to WASI WebAssembly at build time and run in the browser with standard-library code.
  • Cell metadata generates input controls, run behavior, timeouts, and source visibility.
  • Rich output artifacts render text, JSON, tables, charts, images, and sandboxed HTML.
  • KaTeX renders inline and block math.
  • Mermaid renders diagrams from fenced mermaid code blocks.
  • Static media is served from public/media and referenced with /media/... URLs.
  • Optional Rust helper crates under crates/* can be reused from MDX cells.
content/docs/
index.mdx
guides/
getting-started.mdx
authoring.mdx
templates.mdx
validation.mdx
features/
interactive-cells.mdx
rich-output.mdx
math.mdx
diagrams.mdx
media.mdx
samples/
rust-ownership.mdx
logistic-map.mdx
haskell-series.mdx
ja/
index.mdx
guides/
features/
samples/

Generated runtime output is written under .oxiquill/generated, .oxiquill/rust-cells, .oxiquill/haskell-cells, public/oxiquill/pyodide, public/oxiquill/rust-wasm, public/oxiquill/haskell-wasm, public/oxiquill/licenses, and dist. Do not edit generated files directly; regenerate them with pnpm docgen, pnpm wasm:dev, pnpm wasm:build, pnpm check, or pnpm build.

  • Getting Started covers install, local preview, build, and static preview.
  • Authoring Guide explains page structure, localization, cell metadata, media, and diagrams.
  • Interactive Cells describes Rust, Python, and Haskell execution, inputs, run modes, helper crates, packages, and source display.
  • Rich Output lists the output artifacts available from Rust and Python cells.
  • Templates gives starter MDX patterns for common note shapes.
  • Licensing explains Oxiquill’s dual license and the notices generated with every site.
  • Sample Notes show complete prose-first pages that use Oxiquill features in context.