TextCarver is a tool for generating documents like books, handouts, and websites. It’s particularly well-suited to complex projects that need powerful programmatic control over document generation.
You can think of it as a CMS that is fluent in JavaScript.
The heart of TextCarver is a text engine that blends Markdown with JavaScript (in a very general sense, it's a bit like JSX). A very simple application of it would be for building a website or document that required conditional compilation and macro expansion (if you’re building the academic version, include this sidebar with the institution’s logo as a header).
More generally, it’s useful for:
While TextCarver is optimized for Markdown source documents, it can use the full scope of HTML + CSS for formatting. It natively supports web and PDF output but can easily be extended to render in other formats.
TextCarver is a complex command-line tool intended for power users. It’s only useful to people who are comfortable in JavaScript.
TextCarver is meant for generating static documents and websites and would be a poor choice for running live on a server.
Finally, TextCarver has a significant security issue: by design, it allows inclusion of arbitrary JavaScript code in any document. It is only meant for compiling documents from trusted sources.
Because of its technical nature and security issues, I haven’t publicly released TextCarver. It’s being used by a number of cool projects—if you’re interested in joining them, you can reach me here.