Ravel
  • Get started
  • Guides
    • Cookbook
    • Markdown fences
    • LitPro Markdown
    • noweb
    • Org/Babel
    • MyST Markdown
    • AsciiDoc
    • HTML
    • Quarto
    • Pipes and directives
    • Provenance maps
  • Reference
    • Public API
    • 0.2 contracts
    • Ravel Map schema
    • Chunk syntax
  • Playground
  1. Ravel
  • Start here
    • Five-minute getting started
    • Ravel cookbook
    • Migrating FizzBuzz-era Ravel material
  • Language
    • Markdown fenced-block profile
    • LitPro Markdown
    • noweb
    • Org and Babel
    • MyST Markdown
    • AsciiDoc
    • HTML
    • Quarto
    • Live execution (0.2)
    • Ravel embedded chunk syntax guide
    • Ravel pipes and directives reference
  • Reference
    • 0.2 contracts and configuration
    • Public JavaScript API
    • Ravel Map schema guide
    • Generated-output provenance maps
    • Filesystem safety and trust boundaries
    • Runtime support and testing policy
  • Design and history
    • Ravel design plan
    • Markup adapter design
    • First graph and chunk-processing proof of concept
    • Ravel Explorer design
    • History and starting point
    • 0.2 release checklist

Ravel

Assemble named code pieces into artifacts while retaining a source-linked dependency graph.

Ravel — weave the story, keep the thread

Ravel. Weave the story. Keep the thread. Source threads connect a literate document to generated code.

Ravel assembles named code pieces into finished artifacts while preserving the dependency graph and provenance that explain exactly where every generated range came from.

Explicit execution · Browser-safe core · Source-linked diagnostics

Open the live playground Get started

01

Write in narrative order

Name fenced code chunks where they make sense in the explanation. Assembly order stays explicit and independent.

02

Generate deterministically

The portable graph evaluator composes, transforms, and emits artifacts without executing document JavaScript or shell commands.

03

Trace every range

Versioned provenance maps connect generated offsets back to exact or honestly coarse source locations and derivation steps.

Five minutes to a woven file

Small surface. Explicit composition.

Ravel 0.2 combines dependable static weaving with bounded, explicitly opted-in live JavaScript: Markdown fences become a portable Ravel Map, the core resolves a graph, and hosts decide where artifacts may be written or executed.

Read the five-minute guide or experiment without installing anything in the browser playground.

greeting.md
---
ravel:
  document: greeting
---

```javascript {.ravel #message}
const message = "Hello from Ravel";
```

```javascript {.ravel #main}
_"message.javascript"
console.log(message);
```

```ravel
out("dist/greeting.js", _"main.javascript")
```

Ravel 0.2 · MIT licensed

 
  • Report an issue
  • GitHub

  • Playground