______  
 /   ⚡  \
/litedown\
\   ⚡    /
 \______/

R Markdown Reimagined

litedown turns Markdown and R Markdown into HTML and LaTeX/PDF, with no knitr and no Pandoc. It imports only one R package, xfun, and renders Markdown with a bundled and patched copy of the cmark-gfm C library.

Installation

install.packages('litedown')

The development version is available from r-universe:

install.packages('litedown', repos = 'https://yihui.r-universe.dev')

A quick look

Save this as hello.Rmd:

---
title: Hello litedown
output: html
---

```{r}
x = 2
```

The area of a circle with radius `{r} x` is `{r} pi * x^2`.

Then render it:

litedown::fuse('hello.Rmd')  # hello.Rmd -> hello.html
litedown::roam()             # or preview and render in a browser

Main functions

Function What it does
fuse() executes code in an R Markdown document, then renders it via mark() (like rmarkdown::render())
mark() renders Markdown to HTML, LaTeX, etc. (like Pandoc)
fiss() extracts code from a document (like knitr::purl())
roam() previews and renders documents in a browser
fuse_book(), fuse_site(), pkg_site() build books, websites, and package sites

If you do not compute in your documents, mark() alone is enough.

Learn more

Visit the package site, https://pkg.yihui.org/litedown/, which has the manual, the book litedown: R Markdown Reimagined, and examples.

Scope

I try to keep the R package small, and 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}$$

Much of the functionality lives in CSS/JS, which makes litedown highly extensible and customizable: see Chapter 5 of the book for how to use the default assets and write your own. You are welcome to write your own CSS/JS, or contribute yours to lite.js so that everyone can use it.

Feature requests are welcome, too. I will take votes into consideration, so please upvote the features you like.

Acknowledgments

litedown was directly inspired by the packages in the set $R$ above. I wrote or co-wrote most of them, and learned a lot from the rest. Thanks to all their authors and contributors, and to the users whose questions, bug reports, and feedback over the years shaped the design of this package.

License

The litedown package is licensed under MIT.