A mark-up-to-doc converter or static document generator is software that generates a document from a markup language text.
Markup-to-doc tools:
- Document converter
- Documentation generator
- Static code generator
- Publishing framework
- Publishing system
List of document converters
Markup-to-doc converters featured on this post:
- Pandoc
Markup language converters may be used to write a document once and then export to different formats.
Pandoc
Pandoc converts from different file formats (for example, it converts from LaTeX to EPUB, that is XHTML-based.
It is FOSS.
The document conversion functionality of Quarto publishing system is built on top of Pandoc.
Documentation generator
Read the post software documentation generation.
Documentation generator:
- Sphinx
- Doxygen
Sphinx
Sphinx is a documentation generation software that converts markup language reStructuredText (natively) or the MyST-markdown variant of Markdown (using the MyST extension) into structured and linked files.
Sphinx is FOSS under a BSD license.
Sphinx is mainly used for scientific documentation.
It is written in Python and used by the Python community.
Static site generator
A static code generator (SSG) generates a multi-page website.
Static code generators:
- MkDocs
- Hugo
- JupyterBook
- Docusaurus
MkDocs
MkDocs generate a static site. It is scientific.
It uses Markdown markup language as a source and YAML for metadata.
Hugo
Hugo is FOSS.
Publishing system
- LaTeX
- Typst
- Quarto
- PrinceXML
- WeasyPrint
- Pages.js
- Antenna House Formatter
LaTeX
LaTeX uses the TeX typesetting programming language plus LaTeX macros.
You can read this post about LaTeX.
Typst
Typst is a modernized version of LaTeX.
It uses its own markdown-based typesetting language.
Quarto
Quarto is a FOSS scientific and technical publishing system. It uses Quarto Markdown, that is a variant of the Pandoc Markdown markup language. It uses YAML for metadata.
Quarto is built on top of Pandoc for document conversion.
It would cover from authoring to conversion.
PrinceXML
Prince or PrinceXML uses HTML as the markup language and CSS for document layout.
It is proprietary software.
WeasyPrint
WeasyPrint uses HTML as markup language and CSS Paged Media for document layout.
It is FOSS.
It is a standalone solution.
It is written in Python.
Paged.js
Paged.js uses HTML as markup language and CSS Paged Media for document layout.
It is FOSS under a MIT license.
Depends on the web browser; it works via browser print.
It is written in JavaScript.
Antenna House Formatter
Antenna House Formatter uses XML as markup language and XSL-FO for document format.