Render R Markdown to Markdown (without using 'knitr'), and Markdown to lightweight HTML or 'LaTeX' documents with the 'commonmark' package (instead of 'Pandoc'). Some missing Markdown features in 'commonmark' are also supported, such as raw HTML or 'LaTeX' blocks, 'LaTeX' math, superscripts, subscripts, footnotes, element attributes, and appendices, but not all 'Pandoc' Markdown features are (or will be) supported. With additional JavaScript and CSS, you can also create HTML slides and articles. This package can be viewed as a trimmed-down version of R Markdown and 'knitr'. It does not aim at rich Markdown features or a large variety of output formats (the primary formats are HTML and 'LaTeX'). Book and website projects of multiple input documents are also supported.
______
/ ⚡ \
/litedown\
\ ⚡ /
\______/
This package provides a trimmed-down and reimagined implementation of R Markdown. It is much more lightweight, at the price of dropping some features. It does not depend on the R package knitr or the system package Pandoc.
Please consider this package experimental for now. The documentation is also very incomplete and still under development.
At the moment, you are recommended to install the development version from r-universe:
install.packages('litedown', repos = c('https://yihui.r-universe.dev', 'https://cloud.r-project.org'))
The function litedown::mark() is based on the R package
commonmark, and renders Markdown to
various output formats supported by commonmark, which are primarily HTML and
LaTeX. MS Office formats are not supported.
R Markdown documents need to be knitted to Markdown before being rendered to a
target output format. The function litedown::fuse() plays a role similar to
knitr::knit() and rmarkdown::render(). It fuses program code with
narratives, i.e., it executes code in the source document and interweaves
results with narratives in the output document.
Try litedown::roam().
We want to limit the scope of this package. Most planned features have been (re-)implemented so far, such as reports, slides, books, websites (including package sites), and paged HTML documents, etc. See the set $R$ below:
$$\mathrm{litedown} = \min{{R}} + {D_i} - {D_e} + {J}$$
$R$ = knitr + evaluate + rmarkdown + bookdown + blogdown + pagedown + pkgdown + xaringan + tufte + distill + htmlwidgets
$D_i$ = (internal dependencies) commonmark + xfun
$D_e$ = (external dependencies) Pandoc + Bootstrap + jQuery + GitBook + Hugo + paged.js + remark.js + tufte.css + distill.js/.css + ...
$J$ = Lightweight vanilla JavaScript/CSS
Please feel free to file feature requests anyway, but we may be a little conservative when considering them (we will take votes into consideration, so please upvote features you like).
The litedown package is licensed under MIT.