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.
Who It Is For
Section titled “Who It Is For”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.
Feature Overview
Section titled “Feature Overview”- 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, andmatplotlib. - 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
mermaidcode blocks. - Static media is served from
public/mediaand referenced with/media/...URLs. - Optional Rust helper crates under
crates/*can be reused from MDX cells.
Project Shape
Section titled “Project Shape”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.
Start Here
Section titled “Start Here”- 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.