litedown slides with the clean theme

A minimalist and elegant presentation theme

Grant McDermott

May 6, 2026

Get started

Add the extra CSS asset @snap-clean:

output:
  html:
    meta:
      css: ["@default", "@snap", "@snap-clean"]
      js: ["@snap"]

Example slide

This is a subtitle

Before we dive a bit deeper, here is a simple example of the litedown clean theme.

Next, we’ll take a brief tour of some theme components.

Components

Ordered and Unordered Lists

Here we have an unordered list.

And next we have an ordered one.

  1. first item
    1. sub-item
  2. second item

Components

Alerts & Cross-refs

To emphasize specific words or text, you can:

Components

Mathematics

Use inline (\(\alpha\), \(\pi\)) or display math as needed:

$$P(E) = {n \choose k} p^k (2-p)^{n-k} \int^\infty_0 x dx$$

$$\hat{\sigma} = \sqrt\frac{\sum(Y_i – \hat{Y}_i)^2} {n – 2}$$

Components

Multicolumn I: Text only

Column 1

Here is a long sentence that will wrap onto the next line as it hits the column width, and continue this way until it stops.

Column 2

Some other text in another column.

A second paragraph.

Multicolumn support is very flexible and we can continue with a single full span column in the same slide.

Components

Multicolumn II: Text and figures

The Great Wave off Kanagawa by Hokusai

  • A point about the figure that is potentially important.
  • Another point about the figure that is also potentially important.

Tables

Markdown

The clean theme rolls its own minimalist aesthetic for tables. This should interface directly with “manual” markdown tables…

Feature Quarto litedown
Speed Slow Fast
Size Large Small
Deps Many Few

… or “computed” tables (next slide).

Regression tables

modelsummary

library(fixest)

mods = feols(
  rating ~ complaints + #privileges + 
    learning + csw0(raises + critical),
  data = attitude
)

dict = c("rating"     = "Overall Rating",
         "complaints" = "Handling of Complaints",
        #  "privileges" = "No Special Priviledges",
         "learning"   = "Opportunity to Learn",
         "raises"     = "Performance-Based Raises",
         "critical"   = "Too Critical")
library(modelsummary)

modelsummary(
  setNames(mods, c("(1)", "(2)")),
  coef_map = dict, stars = TRUE,
  gof_map = NA
  ) |>
  # some optional stylistic tweaks
  tinytable::group_tt(j = list("Dep. variable: Overall Rating" = 2:3)) |>
  tinytable::style_tt(i = 1:2, j = 2:3, background = "pink")

Plots

Volcano plot

Filled contour plot of the volcano elevation dataset

Summary

A minimalist and elegant presentation theme

The litedown clean theme aims to be a minimalist and elegant presentation theme, ported from the original Quarto reveal.js version.

Render with litedown::fuse().