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

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
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

Repository mirror & CI · gentoo
Merge updates from master
Sergei Trofimovich · gentoo
dev-haskell/cmark: drop old
Package-Manager: Portage-3.0.6, Repoman-3.0.1 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sergei Trofimovich · gentoo
*/*: destabilize dev-lang/ghc for all arches
dev-lang/ghc is a fast-moving target without much of stable API across major GHC releases. This makes stabilization process a fragile process. The change moves all haskell revdeps to pure ~arch. There are not many outside dev-haskell/*: - app-emulation/ganeti - app-text/pandoc - dev-util/bustle - dev-util/shellcheck - dev-vcs/darcs - x11-wm/xmonad/xmonad Existing stable haskell users are recommended to keyword used packages and all of dev-haskell/* to ease upgrades. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Sergei Trofimovich · gentoo
dev-haskell/cmark: bump up to 0.6
Package-Manager: Portage-2.3.81, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
*/*: Inline mirror://hackage and update URIs
This change inlines mirror://hackage in all ebuilds, and updates URIs to the modern form (old URIs redirect to that). The change has been made using the following command: find -name '*.ebuild' -exec sed -r -i \ -e 's@mirror://hackage/@https://hackage.haskell.org/@g' \ -e 's@https://hackage.haskell.org/packages/archive/([^/]*)/([^/]*)/@https://hackage.haskell.org/package/\1-\2/@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{PV}@${P}@g' \ -e '/hackage\.haskell\.org/s@\$\{MY_PN}-\$\{PV}@${MY_P}@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{MY_PV}@${MY_P}@g' \ {} + Signed-off-by: Michał Górny <mgorny@gentoo.org>
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