Getting Started

Installation

Download a standalone binary with Ruby bundled inside (about 120–180MB):

OS x86_64 ARM64
macOS Download Download
Linux Download Download
Linux (musl/Alpine) Download Download
Windows Download —

On macOS and Linux, make it executable and move it onto your PATH:

chmod +x raindown-*
mv raindown-* /usr/local/bin/raindown

Alpine:
The musl binaries need libgcc and ncurses, which bare Alpine doesn't include (apk add libgcc ncurses-libs). The other Linux binaries use the system's ncurses, which most distros include.

Ruby:

If you have Ruby installed on your system then you can just run:

gem install raindown

The gem compiles the curses gem, for the terminal UI, so on Linux install ncurses' headers first, like apt install libncurses-dev or apk add ncurses-dev.

Updating

Download the binary again from the table above and replace the old one.

If you installed the gem via Ruby then do:

gem update raindown

Setup

Run raindown init in the root of your project to create a .raindown folder. It marks the project's root and holds its config and your own nodes:

raindown init
# Created .raindown/config.yml

Usage

Then watch your project:

raindown

This watches the Markdown files in the project, and writes back to each one as it's saved, like its table of contents and tables. Start it in a folder like ~/dev and it watches every project inside. To watch one file, run raindown README.md.

To render a file to HTML:

raindown README.md --html README.html

To browse the project in the terminal:

raindown tui

See the CLI for more.

Your first directive

Add a table of contents to any Markdown file:

# Notes

<{ toc: }>
<{ :toc }>

## Setup

Save it and Raindown writes the table of contents into the Markdown between the two tags, so people and agents reading the file see it too:

<{ toc: }>

- [Notes](#notes)
  - [Setup](#setup)

<{ :toc }>

For the HTML alone, without writing into the file, use <{ :toc }> by itself. See Table of contents.

VS Code extension

Highlight Raindown syntax with the VS Code extension.