name: cmark version: 0.2 synopsis: Fast, accurate CommonMark (Markdown) parser and renderer description: This package provides Haskell bindings for , the reference parser for , a fully specified variant of Markdown. It includes sources for (version 0.18.1) and does not require prior installation of the C library. . cmark provides the following advantages over existing Markdown libraries for Haskell: . - __Speed:__ Conversion speed is on par with the library. We were unable to measure precisely against , which raised a malloc error when compiled into our benchmark suite. Relative to other implementations: cmark was 82 times faster than , 59 times faster than , 105 times faster than , and 2.8 times faster than . . - __Memory footprint:__ Memory footprint is on par with . On one sample, the library uses a fourth the memory that uses, and less than a tenth the memory that uses. . - __Robustness:__ cmark can handle whatever is thrown at it, without the exponential blowups in parsing time one can sometimes get with other libraries. (The input @bench\/full-sample.md@, for example, causes both and to grind to a halt.) . - __Accuracy:__ cmark passes the CommonMark spec\'s suite of over 500 conformance tests. . - __Standardization:__ Since there is a spec and a comprehensive suite of tests, we can have a high degree of confidence that any two CommonMark implementations will behave the same. Thus, for example, one could use this library for server-side rendering and for client-side previewing. . - __Ease of installation:__ cmark is portable and has minimal dependencies. . cmark does not provide Haskell versions of the whole API, which is built around mutable @cmark_node@ objects. Instead, it provides functions for converting CommonMark to HTML (and other formats), and a function for converting CommonMark to a @Node@ tree that can be processed further using Haskell. . __A note on security:__ This library does not attempt to sanitize HTML output. We recommend using to filter the output. . __A note on stability:__ There is a good chance the API will change significantly after this early release. homepage: https://github.com/jgm/commonmark-hs license: BSD3 license-file: LICENSE author: John MacFarlane maintainer: jgm@berkeley.edu copyright: (C) 2015 John MacFarlane category: Text tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.2 build-type: Simple extra-source-files: README.md cmark/bench.h cmark/chunk.h cmark/cmark_export.h cmark/debug.h cmark/inlines.h cmark/cmark.h cmark/houdini.h cmark/references.h cmark/utf8.h cmark/parser.h cmark/cmark_version.h cmark/html_unescape.h cmark/iterator.h cmark/node.h cmark/buffer.h cmark/cmark_ctype.h cmark/config.h cmark/scanners.h cmark/case_fold_switch.inc bench/sample.md bench/full-sample.md cabal-version: >=1.14 Source-repository head type: git location: git://github.com/jgm/cmark-hs.git library exposed-modules: CMark build-depends: base >=4.5 && < 4.8, mtl, syb, text >= 1.1 && < 1.3 if impl(ghc < 7.6) build-depends: ghc-prim >= 0.2 default-language: Haskell2010 ghc-options: -Wall Include-dirs: cmark Includes: cmark.h c-sources: cmark/houdini_html_u.c cmark/man.c cmark/references.c cmark/utf8.c cmark/blocks.c cmark/cmark.c cmark/html.c cmark/iterator.c cmark/node.c cmark/buffer.c cmark/cmark_ctype.c cmark/houdini_href_e.c cmark/scanners.c cmark/xml.c cmark/houdini_html_e.c cmark/inlines.c cmark/main.c benchmark bench-cmark type: exitcode-stdio-1.0 hs-source-dirs: bench main-is: Bench.hs build-depends: base, text, criterion, cmark, sundown >= 0.6 && < 0.7, pandoc >= 1.13.2 && < 1.14, cheapskate >= 0.1 && < 0.2, markdown >= 0.1 && < 0.2, discount >= 0.1 && < 0.2, blaze-html >= 0.7 && < 0.8 ghc-options: -O2 default-language: Haskell2010