name: cmark version: 0.2.0.1 x-revision: 3 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 cbits/bench.h cbits/chunk.h cbits/cmark_export.h cbits/debug.h cbits/inlines.h cbits/cmark.h cbits/houdini.h cbits/references.h cbits/utf8.h cbits/parser.h cbits/cmark_version.h cbits/html_unescape.h cbits/iterator.h cbits/node.h cbits/buffer.h cbits/cmark_ctype.h cbits/config.h cbits/scanners.h cbits/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: cbits Includes: cmark.h c-sources: cbits/houdini_html_u.c cbits/man.c cbits/references.c cbits/utf8.c cbits/blocks.c cbits/cmark.c cbits/html.c cbits/iterator.c cbits/node.c cbits/buffer.c cbits/cmark_ctype.c cbits/houdini_href_e.c cbits/scanners.c cbits/xml.c cbits/houdini_html_e.c cbits/inlines.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