MMARK(1)

πŸ’– MMARK β€” bestie edition πŸ’–

okay so this is mmark(1) from the Mmark Markdown corner of the manual, and I need you to know it's iconic before we even start.


✨ NAME ✨

mmark β€” generate XML, HTML or markdown from mmark markdown documents. πŸ’…


🌸 SYNOPSIS 🌸

mmark [OPTIONS] [FILE...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So Mmark is this powerful markdown processor written in Go, and it's literally built for writing IETF documents. But bestie, plot twist: it's also perfectly suited for writing complete books and other technical documentation. main character energy fr fr.

Mmark gives you an advanced markdown dialect that processes your file(s) and spits out internet-drafts in XML RFC 7991 format (<https://tools.ietf.org/html/rfc7991>). And it can produce xml2rfc (that's the RFC 7991 we just mentioned), HTML5, and manual pages. versatile queen πŸ‘‘

The syntax is detailed at <https://mmark.miek.nl/syntax>. go read it, iykyk.

Compared to other markdown variants, mmark adds:

  • (Extended) Title block to specify authors and IETF specific bits.
  • (Special) sections for abstracts, prefaces or notes.
  • Including other files with the option to specify line ranges, regular expressions and/or prefixing each line with a custom string.
  • Document divisions: front matter, main matter and back matter.
  • Captions for code, tables, quotes and subfigures.
  • Asides for small notes.
  • Figures and Subfigures that allow for grouping images into subfigures as well as giving a single image metadata (a link, attributes, etc.).
  • Block Level Attributes that allow to specify attributes, classes and IDs for elements.
  • Indices to mark an item (and/or a subitem) to be referenced in the document index.
  • Citations and adding XML References (those used by the IETF).
  • Cross references: short form of referencing a section in the document.
  • Super- and Subscript.
  • Callouts in code and text.
  • BCP14 (RFC 2119) keyword detection.

like?? the range?? we're obsessed. 🫢


⭐ RFC 7991 ⭐

This is the XML format used by the RFC editor for accepting Internet-Drafts. no cap.


🌈 HTML5 🌈

The HTML5 renderer outputs HTML. that's it, that's the vibe. ✨


πŸ‘‘ MANUAL PAGES πŸ‘‘

The man renderer outputs nroff that can be viewed via man(1). yes bestie, it can render the very genre of document you're reading right now. meta. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -ast β€” print abstract syntax tree and exit. peek inside the brain, then dip. 🧠
  • -css string β€” link to a CSS stylesheet (only used with -html).
  • -fragment β€” don't create a full document. just a lil piece. a snack. πŸ“
  • -head string β€” link to HTML to be included in head (only used with -html).
  • -html β€” create HTML output.
  • -man β€” output nroff (manual pages).
  • -unsafe β€” allow includes from anywhere in the filesystem, otherwise they are only allowed below the current document. ⚠️ dangerous-ish, so know what you're doing before you flip this switch.
  • -index β€” generate an index at the end of the document (default true).
  • -bibliography β€” generate a bibliography section after the back matter (default true), this needs a {{backmatter}} in the document.
  • -version β€” show mmark's version. say hi to the icon. πŸ’–

πŸ”₯ ALSO SEE πŸ”₯

RFC 7991 and (maybe) RFC 7749. The main site for Mmark is <https://mmark.miek.nl>. The syntax used by mmark is explained in the syntax page <https://mmark.miek.nl/post/syntax/>.


and that's the whole page, bestie πŸ’œ this came out of the User Commands section, dated April 2019, and it's MMARK(1) β€” go slay some internet-drafts, periodt. πŸ¦‹