Welcome

Documentation for @docubook/flame — a build-time bridge between tooling and content plain markdown in, flat static HTML out.

@docubook/flame compiles plain markdown (.md / .mdx) into flat static HTML — a build-time bridge, not a runtime. Bun, Node.js, or Deno only run the toolchain; the output deploys anywhere.

  • Quick start — a docs site in minutes
  • Formatting — the v2 authoring contract: markdown, fenced code, directives
  • Introduction — why v2 is markdown-first, not JSX
@docubook/core

Compile pipeline — remark/rehype plugins, frontmatter, and the directive system that turns ::: / :::: into components.

@docubook/markdown

Component registry — callout, tabs, cards, accordions, steps, tree, mermaid, youtube, tooltip — resolved from directives at compile time.

@docubook/ui-react

React + daisyUI — sidebar, TOC, navbar, footer, search modal.

@docubook/themes-colors

Theme color presets and utilities — hex-to-HSL conversion, CSS variables, 3 built-in presets.

Benchmark setup: the same 27 .mdx files (106 KB), npm releases v1.7.2 and v2.0.0, NODE_ENV=production, three cold builds on the same machine. v1 ran on Node 22.23.2; v2 ran on Bun 1.4.2. Because v1's mdx-remote interprets directive attributes ({...}) as JSX expressions, 19 files were converted to native JSX using the Formatting mapping; v2 built the source unchanged.

flowchart LR
    classDef v1 fill:#f8fafc,stroke:#94a3b8,stroke-width:1px,color:#334155
    classDef v2 fill:#ecfdf5,stroke:#34d399,stroke-width:1px,color:#064e3b
    classDef note fill:#fef2f2,stroke:#f87171,stroke-width:1px,color:#7f1d1d

    RAW["same content · 27 mdx / 106 KB"] --> V1
    RAW --> V2

    subgraph V1["Flame v1.7.2"]
        direction TB
        C1["JSX conversion"]
        B1["mdx-remote compile"]
        H1["new Function hydration"]
        D1["dist 7.4 MB"]
        C1 --> B1 --> H1 --> D1
    end
    subgraph V2["Flame v2.0.0"]
        direction TB
        B2["common markdown + directives"]
        H2["static ESM hydration"]
        D2["dist 7.8 MB"]
        B2 --> H2 --> D2
    end

    T1["client bundle: 5092 ms"] -.-> B1
    T2["client bundle: 3162 ms"] -.-> B2

    class E1 note
    class B1,H1,D1 v1
    class B2,H2,D2 v2
xychart-beta
    title "Cold build · MDX page compile (ms) — lower is better"
    x-axis ["v1.7.2", "v2.0.0"]
    y-axis "milliseconds" 0 --> 4000
    bar [3466, 1940]

The table reports medians from three cold builds. Per-run wall times were 12 / 10 / 12 s for v1 and 13.71 / 8.00 / 7.67 s for v2. Because the benchmarks use different runtimes (Node for v1, Bun for v2), the deltas are directional rather than a controlled runtime comparison.

Metricv1.7.2v2.0.0Δ
MDX page compile3466 ms1940 ms−44%
Client bundle5092 ms3162 ms−38%
dist size7.4 MB7.8 MB+5%
client JS4.6 MB5.7 MB+24%
Pages built26/26 (after conversion)26/26 (as-is)
Total wall≈12 s8.00 s−4 s

Last updated Sep 10, 2026