dev-haskell / cmark

Fast, accurate CommonMark (Markdown) parser and renderer

Official package sites : https://github.com/jgm/cmark-hs ·

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 <https://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 <https://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.

v0.6 :: 0/0.6 :: gentoo

Modified
License
BSD
Keywords
~amd64 ~x86
USE flags
doc hscolour profile system-cmark test

v0.5.6 :: 0/0.5.6 :: gentoo

Modified
License
BSD
Keywords
amd64 x86
USE flags
doc hscolour profile system-cmark test

v0.5.5 :: 0/0.5.5 :: gentoo

Modified
License
BSD
Keywords
~amd64 ~x86
USE flags
doc hscolour profile test

v0.4.0.1 :: 0/0.4.0.1 :: gentoo

Modified
License
BSD
Keywords
amd64 x86
USE flags
doc hscolour profile test

v0.3.4 :: 0/0.3.4 :: gentoo

Modified
License
BSD
Keywords
~amd64 ~x86
USE flags
doc hscolour profile test

General

doc
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
hscolour
Include coloured haskell sources to generated documentation (dev-haskell/hscolour)
profile
Add support for software performance analysis (will likely vary from ebuild to ebuild)
system-cmark
use app-text/cmark instead of bundled copy
system-cmark
use app-text/cmark instead of bundled copy
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

app-text / cmark : CommonMark parsing and rendering library and program in C

dev-haskell / cabal : A framework for packaging Haskell software

dev-haskell / haddock : A documentation-generation tool for Haskell libraries

dev-haskell / hscolour : Colourise Haskell code

dev-haskell / hunit : A unit testing framework for Haskell

dev-haskell / text : An efficient packed Unicode text type

dev-lang / ghc : The Glasgow Haskell Compiler

virtual / pkgconfig : Virtual for the pkg-config implementation

app-text / cmark : CommonMark parsing and rendering library and program in C

dev-haskell / text : An efficient packed Unicode text type

dev-lang / ghc : The Glasgow Haskell Compiler

app-text / pandoc : Conversion between markup formats

Repository mirror & CI · gentoo
Merge updates from master
Pacho Ramos · gentoo
dev-haskell/cmark: Rebuild needed with app-text/cmark subslot bump
Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sergei Trofimovich · gentoo
dev-haskell/cmark: bump up to 0.6.0, bug #687698
Reported-by: Toralf Förster Closes: https://bugs.gentoo.org/687698 Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Sergei Trofimovich · gentoo
dev-haskell/cmark: stable 0.5.6 for x86/amd64, bug #631138
Package-Manager: Portage-2.3.10, Repoman-2.3.3 RepoMan-Options: --include-arches="amd64 x86"
Sergei Trofimovich · gentoo
dev-haskell/cmark: add USE=+system-cmark to unbundle cmark, bug #627024
Reported-by: Azamat H. Hackimov Bug: htps://bugs.gentoo.org/627024 Package-Manager: Portage-2.3.8, Repoman-2.3.3
Robin H. Johnson · gentoo
Drop $Id$ per council decision in bug #611234.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Sergei Trofimovich · gentoo
dev-haskell/cmark: bump up to 0.5.5
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Sergei Trofimovich · gentoo
dev-haskell/cmark: amd64, x86 stable, bug #559988
Package-Manager: portage-2.2.20
Robin H. Johnson · gentoo
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed