Skip to content
This repository has been archived by the owner on Sep 13, 2023. It is now read-only.


Repository files navigation


Extract code files from Markdown files.

Write guides in Markdown with code blocks that belong in several files, and let waltz extract the code for you so you can build/run/test it easily.

DANGER: Will eat your laundry

This is highly experimental. Has not been tested with real-world code.

Install binary

There are pre-compiled binaries for newer releases that you can find on the releases page.

Alternatively, install it like this:

curl -LSfs | sh -s -- --git killercup/waltz

Install manually

Make sure you have Rust and Cargo installed.

$ cargo install --git

Alternatively, clone this repository and run cargo install --path waltz_cli.


Markdown syntax

Write regular Markdown, but add an additional file flag to your code blocks, so they have lang,file=path after the triple back ticks. (This is the relative path of the file this code should end up in).


# Getting started

First of all, create a simple `Cargo.toml` file:

authors = ["Pascal Hertleif <>"]
name = "foo"
version = "0.1.0"

As Rust library

Add waltz = "0.4" to your dependencies and use it!

API documentation


$ cargo install waltz_cli
$ waltz
Usage: waltz <input file> [<target directory>]
$ waltz docs/guides/


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.