jemdoc-cvx – light markup, modernized
jemdoc is a light text-based markup language designed for creating websites, originally written by Jacob Mattingley. It takes a text file written with jemdoc markup, an optional configuration file and an optional menu file, and emits a static website. jemdoc was inspired by AsciiDoc; the main differences are that jemdoc is simpler (deliberately feature-poor) and has more consistent syntax.
This is jemdoc-cvx, a modernized fork of jemdoc and
jemdoc+MathJax. The .jemdoc
input format is unchanged and the iconic look is preserved, but the tool
itself is rewritten for a modern stack: HTML5 output, CSS3, Python 3.11+,
and server-side equation rendering with KaTeX. See
the download page to get started or the
revision notes for what changed.
Contribute to jemdoc-cvx on GitHub.
Goals
Simple, consistent syntax.
equation support, rendered server-side.
Portability. A single executable
jemdocscript (Python stdlib only) + a single CSS file + your input file → html.Based on CSS so formatting specifics are independent of jemdoc.
Clean, valid HTML5 output.
Minimal bells and whistles, with a raw-html fallback for edge cases.
License
Copyright © 2007–2012 Jacob Mattingley. KaTeX/HTML5 modernization copyright © 2026 Stanford University Convex Optimization Group.
jemdoc is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
jemdoc is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.