Name : ghc-cmark
| |
Version : 0.5.1
| Vendor : openSUSE
|
Release : 3.1
| Date : 2016-06-27 17:57:02
|
Group : System/Libraries
| Source RPM : ghc-cmark-0.5.1-3.1.src.rpm
|
Size : 0.72 MB
| |
Packager : http://bugs_opensuse_org
| |
Summary : Fast, accurate CommonMark (Markdown) parser and renderer
|
Description :
This package provides Haskell bindings for < https://github.com/jgm/cmark libcmark>, the reference parser for < http://commonmark.org CommonMark>, a fully specified variant of Markdown. It includes sources for libcmark (0.19.0) 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 < https://hackage.haskell.org/package/sundown sundown> library. We were unable to measure precisely against < https://hackage.haskell.org/package/sundown sundown>, which raised a malloc error when compiled into our benchmark suite. Relative to other implementations: cmark was 82 times faster than < https://hackage.haskell.org/package/cheapskate cheapskate>, 59 times faster than < https://hackage.haskell.org/package/markdown markdown>, 105 times faster than < https://hackage.haskell.org/package/pandoc pandoc>, and 2.8 times faster than < https://hackage.haskell.org/package/discount discount>.
- Memory footprint: Memory footprint is on par with < https://hackage.haskell.org/package/sundown sundown>. On one sample, the library uses a fourth the memory that < https://hackage.haskell.org/package/markdown markdown> uses, and less than a tenth the memory that < https://hackage.haskell.org/package/pandoc pandoc> 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 < https://hackage.haskell.org/package/pandoc pandoc> and < https://hackage.haskell.org/package/markdown markdown> 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 < http://github.com/jgm/commonmark.js commonmark.js> for client-side previewing.
- Ease of installation: cmark is portable and has minimal dependencies.
cmark does not provide Haskell versions of the whole < http://github.com/jgm/cmark libcmark> 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 < https://hackage.haskell.org/package/xss-sanitize xss-sanitize> to filter the output.
A note on stability: There is a good chance the API will change significantly after this early release.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/openSUSE:/Backports:/SLE-12/standard/x86_64 |