Markup++
A native markup converter for Markdown, AsciiDoc and reStructuredText, available from the CLI and embedded in Nift.
One focused converter for the authoring formats people actually use.
Markup++ converts Markdown, AsciiDoc and reStructuredText to web-ready output through one native tool. The point is not to invent another markup language; it is to let projects choose the authoring format that fits the content while keeping the conversion engine small and reusable.
Compatibility is tested against the ecosystems users expect—CommonMark-oriented evidence for Markdown, Asciidoctor-oriented evidence for AsciiDoc and docutils-oriented evidence for reStructuredText—so support is grounded in actual behaviour rather than a few hand-written examples.
The same implementation is useful both as a standalone CLI and embedded in another application. Nift uses that property directly: template processing can happen first, then Markup++ converts the authored content.
Useful capability without mandatory complexity.
The project stays focused on its own job; the surrounding Gantry tools remain optional.
Use a CommonMark-oriented conversion path for conventional Markdown content.
Support a richer authoring format without requiring the whole site to be built by Asciidoctor.
Bring RST-authored content into the same native conversion interface.
Use the converter as part of Nift or another native host instead of shelling out to three unrelated tools.
Start with the shortest path.
Advanced deployment or integration features appear only when the workflow actually needs them.
- 01
Choose the source markup format that suits the document.
- 02
Run Markup++ directly when conversion is the whole job, or invoke it through Nift when the content belongs to a site template.
- 03
Treat the generated HTML as ordinary output that can be styled, minified or deployed like any other web asset.
Connections that remove real hand-off friction.
Each product already owns one side of these workflows. The integration exists to remove duplicate navigation, setup or context.
Nift
This is a direct integration rather than a conceptual pairing. Nift’s markup directive can process template content and then invoke Markup++ for Markdown, AsciiDoc or reStructuredText, giving content-heavy sites one build command and one dependency graph.
Explore Nift →Minify++
Markup++ produces human-readable web output; Minify++ can be a later release-stage optimization when compact output matters.
Explore Minify++ →Jsonic++
Markup++ handles authored prose while Jsonic++ handles structured data. A documentation or content pipeline can use both kinds of input without conflating their responsibilities.
Explore Jsonic++ →Local tool, no my.* indirection.
Markup++ is primarily a CLI or embeddable native tool rather than a persistent web service. A my.* instance registry would add a choice where there is no running instance to choose.
It still belongs to Gantry Tools, appears in the project directory and can be exposed from a configurable my.gantry.cv launcher if somebody wants quick access to its website or documentation.
Why my.* is reserved for running applications →Where Markup++ earns its place.
Let authors write in the format they prefer while Nift controls the shared site shell.
Convert a document without adopting a site generator.
Embed document conversion into another C++ program through one consistent interface.
Explore Markup++.
Project-specific installation, commands and release details live on the project site.
