Learn R Programming

  ______  
 /   ⚡  \
/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.

  • Computing: run code chunks and inline code in R, or in other languages via engines such as JavaScript, CSS, Mermaid, and shell commands. Chunk options control code, text output, figures, tables, caching, and even the order of execution.

  • Markdown: GFM plus math, footnotes, superscripts/subscripts, raw HTML/LaTeX blocks, element attributes, cross-references, citations, and callouts.

  • Output: single HTML documents (with resources embedded if you want), LaTeX and PDF, and lightweight HTML articles, slides, and paged HTML (for print), styled with small vanilla CSS/JS files from lite.js.

  • Projects: books and websites from a directory of documents with a _litedown.yml, including websites for R packages via pkg_site().

  • Workflow: roam() previews and renders documents in a browser, with live reload, so you do not need a Knit button.

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

FunctionWhat 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.

Copy Link

Version

Install

install.packages('litedown')

Monthly Downloads

348,465

Version

1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Yihui Xie

Last Published

November 2nd, 2026

Functions in litedown (1.0)

fuse_exit

Exit fuse() early
engines

Language engines
get_context

Get the fuse() context
litedown-package

A lightweight version of R Markdown
html_format

Output formats in YAML metadata
fuse_book

Fuse multiple R Markdown documents to a single output file
crack

Parse R Markdown or R scripts
fuse_env

The fuse() environment
fuse_site

Fuse R Markdown documents individually under a directory
fuse

Render Markdown, R Markdown, and R scripts
markdown_options

Markdown rendering options
pkg_desc

Print the package description, news, citation, manual pages, and source code
pkg_site

Build a website for an R package
raw_text

Mark a character vector as raw output
smartypants

Convert some ASCII strings to HTML entities
timing_data

Get the timing data of code chunks and text blocks in a document
reactor

Get and set chunk options
vest

Add CSS/JS assets to HTML output
roam

Preview Markdown and R Markdown files