______
/ ⚡ \
/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$ = knitr + evaluate + rmarkdown + bookdown + blogdown + pagedown + pkgdown + xaringan + tufte + distill -
$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.