mmd A Miniature Markdown "Library"

mmd is a miniature markdown parsing “library” consisting of a single C source file and accompanying header file. mmd mostly conforms to the CommonMark version of markdown syntax with the following exceptions:

  • Embedded HTML markup and entities are explicitly not supported or allowed; the reason for this is to better support different kinds of output from the markdown “source”, including XHTML, man, and xml2rfc.

  • Link titles are silently ignored.

  • Thematic breaks using a mix of whitespace and the separator character are not supported (“* * * *”, “– – – –”, etc.); these could conceivably be added but did not seem particularly important.

In addition, mmd supports a couple (otherwise undocumented) CommonMark extensions:

  • Metadata as used by Jekyll and other web markdown solutions.

  • ”@” links which resolve to headings within the file.

  • Tables as used by the Github Flavored Markdown Spec.

mmd also includes a standalone utility called mmdutil that can be used to generate HTML and man page source from markdown.

I’m providing this as open source under the Apache License Version 2.0 with exceptions for use with GPL2/LGPL2 applications which allows you do pretty much do whatever you like with it. Please do provide feedback and report bugs to the Github project page so that everyone can benefit.