GitHub Flavored Markdown GitHub.com uses its own version of the Markdown syntax that provides an additional set of useful features, many of which make it easier to work with content on GitHub.com. Note that some features of GitHub Flavored Markdown are only available in the descriptions and comments of Issues and Pull Requests.
- Looking for the definition of GFM? Find out what is the full meaning of GFM on Abbreviations.com! 'Government-Furnished Material' is one option - get in to view more @ The Web's largest and most.
- Support GFM or markdown on github.com. The export of syntax is a function that can be called with options and returns extension for the micromark parser (to tokenize GFM; can be passed in extensions). The export of html is an extension for the default HTML compiler (can be passed in htmlExtensions).
This package provides Haskell bindings for libcmark-gfm, the referenceparser for GitHub Flavored Markdown, a fully specified variant of Markdown.It includes sources for libcmark-gfm and does not require priorinstallation of the C library.
cmark provides the following advantages over existing Markdownlibraries for Haskell:
Speed: cmark can render a Markdown version of War and Peace inthe blink of an eye. Conversion speed is on par with thesundown library, though we were unable to benchmark precisely,because sundown raised a malloc error when compiled into ourbenchmark suite. Relative to other Haskell Markdown libraries:cmark was 82 times faster than cheapskate, 59 times faster thanmarkdown, 105 times faster than pandoc, and 3 times fasterthan discount.
Memory footprint: Memory footprint is on par with sundown.On one sample, the library uses a fourth the memory that markdownuses, and less than a tenth the memory that pandoc uses.
Robustness: cmark can handle whatever is thrown at it,without the exponential blowups in parsing time that sometimes afflictother libraries. (The input
bench/full-sample.md
,for example, causes both pandoc and markdown to grind to ahalt.) libcmark-gfm has been extensively fuzz-tested.Accuracy: cmark passes the CommonMark spec's suite of over600 conformance tests.
Standardization: Since there is a spec and a comprehensive suiteof tests, we can have a high degree of confidence that any twoCommonMark implementations will behave the same. Thus, forexample, one could use this library for server-side renderingand commonmark.js for client-side previewing.
Multiple renderers. Output in HTML, groff man, LaTeX, CommonMark,and a custom XML format is supported. And it is easy to write newrenderers to support other formats.
Ease of installation: cmark is portable and has minimaldependencies.
cmark does not provide Haskell versions of the whole libcmark-gfmAPI, which is built around mutable cmark_node
objects. Instead, itprovides functions for converting CommonMark to HTML (and otherformats), and a function for converting CommonMark to a Node
tree that can be processed further using Haskell.
Github Markdown Font Color
A note on security: This library does not attempt to sanitizeHTML output. We recommend using xss-sanitize to filter the output,or enabling optSafe
to filter out all raw HTML and potentiallydangerous URLs.
Git Flavored Markdown
Github Flavored Markdown
Github Gfm Latex
A note on stability: There is a good chance the API will changesignificantly after this early release.