Skip to contents

The goal of {squash} is to compile a single html presentation file from multiple independent quarto files.

The main purpose of this is to create custom slide decks from several quarto chapter files.

The resulting revealjs presentation can be themed via quarto extensions.

A simple schematic view of squash input and output

Installation

You can install the stable version from GitHub with:

remotes::install_github("Thinkr-open/squash", ref = "production")

You can install the development version from GitHub with:

remotes::install_github("Thinkr-open/squash", ref = "main")

This package relies on quarto > 1.3 (see its download page).

Play with {squash}

TL;DR

Given the vector qmds containing paths to one or several qmd revealjs presentation, you can use the function compile_qmd_course() to compile a full presentation.

library(squash)

html_output <- compile_qmd_course(
  vec_qmd_path = qmds,
  output_dir = tempdir(),
  output_html = "complete_course.html"
)

Check out the result

browseURL(html_output)

Tutorials

You can find find a full tutorial on how to create your first {squash}-made html here.

Eager to spice it up? Take a look at some advanced usage doc :

  • using quarto themes and extensions: here
  • using a personalized template: here
  • using parallel workers with future: here

Not quite what you were looking for? Here are two closely related quarto tools :

Contribute

Ready to help? Take a look at the contribution guidelines.