CommonMark parsing and rendering library and program in C
cmark is the C reference implementation of CommonMark, a rationalized version of Markdown syntax with a spec. (For the JavaScript reference implementation, see commonmark.js.)
It provides a shared library (libcmark) with functions for parsing CommonMark documents to an abstract syntax tree (AST), manipulating the AST, and rendering the document to HTML, groff man, LaTeX, CommonMark, or an XML representation of the AST. It also provides a command-line program (cmark) for parsing and rendering CommonMark documents.
- Developed at devel:libraries:c_c++
- Sources inherited from project openSUSE:Factory
-
3
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Factory:zSystems/cmark && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
cmark-0.29.0.tar.gz | 0000234545 229 KB | |
cmark.changes | 0000017539 17.1 KB | |
cmark.spec | 0000003029 2.96 KB |
Revision 9 (latest revision is 15)
Dominique Leuenberger (dimstar_suse)
accepted
request 721249
from
Ondřej Súkup (mimi_vx)
(revision 9)
- update to 0.29.0 * Update spec to 0.29. * Make rendering safe by default (#239, #273). Adds `CMARK_OPT_UNSAFE` and make `CMARK_OPT_SAFE` a no-op (for API compatibility). The new default behavior is to suppress raw HTML and potentially dangerous links. The `CMARK_OPT_UNSAFE` option has to be set explicitly to prevent this. **NOTE:** This change will require modifications in bindings for cmark and in most libraries and programs that use cmark. Borrows heavily from @kivikakk's patch in github/cmark-gfm#123. * Add sourcepos info for inlines (Yuki Izumi). * Disallow more than 32 nested balanced parens in a link (Yuki Izumi). * Resolve link references before creating setext header. A setext header line after a link reference should not create a header, according to the spec. * commonmark renderer: improve escaping. URL-escape special characters when escape mode is URL, and not otherwise. Entity-escape control characters (< 0x20) in non-literal escape modes. * render: only emit actual newline when escape mode is LITERAL. For markdown content, e.g., in other contexts we want some kind of escaping, not a literal newline. * Update code span normalization to conform with spec change. * Allow empty `<>` link destination in reference link. * Remove leftover includes of `memory.h` (#290). * A link destination can't start with `<` unless it is an angle-bracket link that also ends with `>` (#289). (If your URL really starts with `<`, URL-escape it.) * Allow internal delimiter runs to match if both have lengths that are multiples of 3. See commonmark/commonmark#528. * Include `references.h` in `parser.h` (#287). (forwarded request 721248 from mimi_vx)
Comments 0