# HedgeDoc Flavored Markdown HedgeDoc has its own markdown dialect which supports many features from [CommonMark][commonmark] and [GitHub Flavored Markdown][gfm]. It also adds some new extensions and is missing some. These tables tell you what exactly we support in HedgeDoc 1.x (HFM 1) and HedgeDoc 2 (HFM 2). ## Typography | Feature | HFM 1 | HFM 2 | CommonMark | GFM | | ------------- | :---: | :---: | :----------------: | :----------------: | | bold | ☑️ | ☑️ | ☑️ | ☑️ | | italic | ☑️ | ☑️ | ☑️ | ☑️ | | underline | ☑️ | ☑️ | (☑️ with ``) | (☑️ with ``) | | strikethrough | ☑️ | ☑️ | (☑️ with ``) | ☑️ | | subscript | ☑️ | ☑️ | (☑️ with ``) | (☑️ with ``) | | superscript | ☑️ | ☑️ | (☑️ with ``) | (☑️ with ``) | | marked | ☑️ | ☑️ | (☑️ with ``) | (☑️ with ``) | ## Extended typography features | Feature | HFM 1 | HFM 2 | CommonMark | GFM | | ------------------------------------------- | :----------------------: | :----------------------: | :--------: | :-: | | heading | ☑️ | ☑️ | ☑️ | ☑️ | | inline code | ☑️ | ☑️ | ☑️ | ☑️ | | indented code blocks | ☑️ | ☑️ | ☑️ | ☑️ | | code block with language[^highlight] | ☑️ | ☑️ | ☑️ | ☑️ | | code block with extra features[^extra-code] | ☑️ | ☑️ | | | | block quote | ☑️ | ☑️ | ☑️ | ☑️ | | name tag (`[name=...]`) | (☑️)[^in-bq-list] | ☑️ | | | | time tag (`[time=...]`) | (☑️)[^in-bq-list] | ☑️ | | | | color tag (`[color=...]`) | (☑️)[^in-bq-list] | ☑️ | | | | unorderd list | ☑️ | ☑️ | ☑️ | ☑️ | | ordered list | ☑️ | ☑️ | ☑️ | ☑️ | | task list | ☑️ | ☑️ | | ☑️ | | defition list | ☑️ | ☑️ | | | | emoji | [Unicode 6.1][unicode-6] | [Unicode 13][unicode-13] | | | | [ForkAwesome][fa] | ☑️ with `` | removed | | | | [Bootstrap Icons][bootstrap-icons] | | ☑️ with shortcodes | | | | LaTeX | ☑️[^mj] | ☑️[^kt] | | | [^highlight]: Code blocks with a given language are rendered using syntax highlighting. [^extra-code]: Several special "language" keywords can be used for rendering diagrams, charts, etc. [^in-bq-list]: Use of these tags is only supported within blockquotes and (un)ordered lists. [^mj]: LaTeX is rendered with [MathJax][mathjax]. [^kt]: LaTeX is rendered with [KaTeX][katex]. ## Links & Images | Feature | HFM 1 | HFM 2 | CommonMark | GFM | | --------------------- | :---: | :---: | :---------------: | :---------------: | | link | ☑️ | ☑️ | ☑️ | ☑️ | | link reference | ☑️ | ☑️ | ☑️ | ☑️ | | link title | ☑️ | ☑️ | ☑️ | ☑️ | | autolink with `<>` | ☑️ | ☑️ | ☑️ | ☑️ | | autolink without `<>` | ☑️ | ☑️ | | ☑️ | | footnotes | ☑️ | ☑️ | | | | image | ☑️ | ☑️ | ☑️ | ☑️ | | image with given size | ☑️ | ☑️ | (☑️ with ``) | (☑️ with ``) | | table of contents | ☑️ | ☑️ | | | ## Structural elements | Feature | HFM 1 | HFM 2 | CommonMark | GFM | | ----------------- | :-------------------: | :---: | :-------------------: | :-------------------: | | table | ☑️ | ☑️ | (☑️ with ``) | ☑️ | | horizontal line | ☑️ | ☑️ | ☑️ | ☑️ | | collapsable block | (☑️ with `
`) | ☑️ | (☑️ with `
`) | (☑️ with `
`) | | Alerts | ☑️ | ☑️ | | | ## Embeddings HFM 1 includes support for certain embeddings of external content by using the `{%keyword parameter %}` syntax. To increase the readability of the markdown code we decided that HFM 2 should just use plain links if possible. | Feature | HFM 1 | HFM 2 | CommonMark | GFM | | --------------------------------------------------- | :---: | :---------------------: | :--------: | :-: | | PDF (`{%pdf ... %}`) | ☑️ | removed | | | | [YouTube][youtube] (`{%youtube ... %}`) | ☑️ | with plain link[^embed] | | | | [Vimeo][vimeo] (`{%vimeo ... %}`) | ☑️ | with plain link[^embed] | | | | [Slideshare][slideshare] (`{%slideshare ... %}`) | ☑️ | removed | | | | [Speakerdeck][speakerdeck] (`{%speakerdeck ... %}`) | ☑️ | removed | | | | [GitHub Gist][gist] (`{%gist ... %}`) | ☑️ | with plain link[^embed] | | | [^embed]: The special syntax from HFM 1 is deprecated, but will still work in HFM 2. However, a plain link to the content should be used. ## HTML Besides the basic HTML typography elements (`

`, ``, ``, ``, ``) the following more special HTML elements are supported by some specification. | Feature | HedgeDocMark 1 | HedgeDocMark 2 | CommonMark | GFM | | :-----------: | :------------: | :------------: | :--------: | :-: | | `` | | | ☑️ | | | `<textarea>` | | ☑️ | ☑️ | | | `<style>` | ☑️ | ☑️ | ☑️ | | | `<xmp>` | | | ☑️ | | | `<iframe>` | ☑️ | ☑️ | ☑️ | | | `<noembed>` | ☑️ | | ☑️ | | | `<noframes>` | ☑️ | | ☑️ | | | `<script>` | | | ☑️ | | | `<plaintext>` | | ☑️ | ☑️ | | [fa]: https://forkaweso.me/ [bootstrap-icons]: https://icons.getbootstrap.com/ [youtube]: https://www.youtube.com/ [vimeo]: https://vimeo.com/ [slideshare]: https://www.slideshare.net/ [speakerdeck]: https://speakerdeck.com/ [gist]: https://gist.github.com/ [mathjax]: https://www.mathjax.org/ [katex]: https://katex.org/ [gfm]: https://github.github.com/gfm/ [commonmark]: https://spec.commonmark.org/ [unicode-6]: https://unicode.org/versions/Unicode6.1.0/ [unicode-13]: https://unicode.org/versions/Unicode13.0.0/