Package 'commonmark'

Title: High Performance CommonMark and Github Markdown Rendering in R
Description: The CommonMark specification defines a rationalized version of markdown syntax. This package uses the 'cmark' reference implementation for converting markdown text into various formats including html, latex and groff man. In addition it exposes the markdown parse tree in xml format. Also includes opt-in support for GFM extensions including tables, autolinks, and strikethrough text.
Authors: Jeroen Ooms [aut, cre] , John MacFarlane [cph] (Author of cmark)
Maintainer: Jeroen Ooms <[email protected]>
License: BSD_2_clause + file LICENSE
Version: 1.9.1
Built: 2024-03-30 06:56:42 UTC
Source: https://github.com/r-lib/commonmark

Help Index


Parse and render markdown text

Description

Converts markdown text to several formats using John MacFarlane's cmark reference implementation. Supported output formats include html, latex, groff man, and normalized "commonmark" markdown. In addition the markdown parse tree can be returned in xml format.

Usage

markdown_html(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  sourcepos = FALSE,
  footnotes = FALSE,
  extensions = FALSE
)

markdown_xml(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  sourcepos = FALSE,
  footnotes = FALSE,
  extensions = FALSE
)

markdown_man(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  footnotes = FALSE,
  width = 0,
  extensions = FALSE
)

markdown_commonmark(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  footnotes = FALSE,
  width = 0,
  extensions = FALSE
)

markdown_text(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  footnotes = FALSE,
  width = 0,
  extensions = FALSE
)

markdown_latex(
  text,
  hardbreaks = FALSE,
  smart = FALSE,
  normalize = FALSE,
  footnotes = FALSE,
  width = 0,
  extensions = FALSE
)

Arguments

text

Markdown text

hardbreaks

Treat newlines as hard line breaks. If this option is specified, hard wrapping is disabled regardless of the value given with width.

smart

Use smart punctuation. See details.

normalize

Consolidate adjacent text nodes.

sourcepos

Include source position attribute in output.

footnotes

parse footnotes

extensions

Enables Github extensions. Can be TRUE (all) FALSE (none) or a character vector with a subset of available extensions.

width

Specify wrap width (default 0 = nowrap).

Details

Support for extensions (including tables and autolink) is provided via the Github fork of cmark. For now these are opt-in and have to be enabled with the extensions parameter. See also the manual page on extensions.

When smart punctuation is enabled, straight double and single quotes will be rendered as curly quotes, depending on their position. Moreover ⁠--⁠ will be rendered as – (en-dash), ⁠---⁠ will be rendered as — (em-dash), and ... will be rendered as ... (ellipses).

Examples

md <- readLines("https://raw.githubusercontent.com/yihui/knitr/master/NEWS.md")
html <- markdown_html(md)
xml <- markdown_xml(md)
man <- markdown_man(md)
tex <- markdown_latex(md)
cm <- markdown_commonmark(md)
text <- markdown_text(md)

Github CommonMark Extensions

Description

The Github fork of cmark supports several markdown extensions which provide features which are not (yet) in the official commonmark spec.

Usage

list_extensions()

Details

Currently the following extensions are supported:

See the full spec for GitHub Flavored Markdown.

Examples

print(list_extensions())