Note: This page was rewritten in July 2023, because I decided to split up the markup language (still called Recital) and the interactive fiction engine, which now lives at Frontispiece.

Recital markup language (implemented as a superset of Markdown) for writing mixed media stories on the web, which can then be exported to HTML, Fountain, Ink, or other output file formats for writing stories. It comes with a VSCode plugin for syntax highlighting, and a core parser that converts Recital text into JSON tokens, which can be used to write other exporters.

There’s also some nice integration with Frontispiece, my interactive fiction engine, to make the writing process easier for that engine. At this point, I do all of my prose writing as Recital documents, converting them later for export.

Recital uses the .stage file format, saved as plaintext, and a spec can be found here.

Full Source Code

Want to use Recital yourself?

Recital was made for my personal projects, so doesn’t have a ton of documentation or considerations for wider public use. You can install specific converters by downloading the source, then running npm install -g <exporters/name-of-exporter>, which then gives you a CLI tool to convert a .stage file into the output file of choice.

You can also install VSCode extension for syntax highlighting the .stage file format from source; run pnpm build in the packages/vscode-syntax directory, and then install the resulting .vsix bundle.