Native and focused
A compact library with no runtime dependencies, a source-vendored CommonMark engine and a thin command-line interface.
MARKUP IN. CLEAN HTML OUT.
Markup++ is a self-contained C++17 library and CLI for converting Markdown, AsciiDoc and reStructuredText to HTML. Its versioned CommonMark profile and the Asciidoctor-core and Docutils-core output gates (with hash-pinned differences) have all passed the Linux, macOS and Windows release gates.
$ curl -fsSL https://nift-dev.github.io/markup-website/install | sh
$ markup README.md -o README.html
# or stream a fragment
$ markup README.md > fragment.html
A compact library with no runtime dependencies, a source-vendored CommonMark engine and a thin command-line interface.
String-in, string-out conversion behind a narrow API, embedded in Nift as a byte-for-byte synchronized subtree for @markup conversion.
CommonMark passes all 652 official examples. The bounded Asciidoctor 2.0.26 and Docutils 0.23 profiles also pass their pushed cross-platform gate, with limitations kept explicit.
Atomic output, permission preservation, and refusal to overwrite input files or output symlinks.
LIBRARY FIRST
Markup++ does not know about project graphs, templates or files. Give it markup and a format; receive HTML or a controlled error.
std::string html, error;
markup::convert(
markup::Format::Markdown,
source, html, error);