Package Websites Built Entirely with 'Quarto'

Builds package websites with 'Quarto'. The whole site, help pages and vignettes included, is rendered by 'Quarto', so every 'Quarto' feature works, from callouts to code annotations. Functions mentioned in code link to their help pages, with hover tooltips.


quartodown quartodown logo

quartodown is an R package that turns your package’s README, help pages and vignettes into a website, rendered entirely by Quarto.

Why quartodown?

Every page, help pages included, is a Quarto page, so you get:

  • every Quarto feature, from callouts and tabsets to code annotations and cross-references, on every page;
  • Quarto’s themes, extensions and settings.

On top of that, quartodown adds:

  • the package website layout R users know from pkgdown: a home page sidebar, a grouped function reference, articles and a changelog;
  • function links with hover tooltips.

Installation

Install the stable version from CRAN:

install.packages("quartodown")

or the development version from GitHub:

pak::pak("BjarkeHautop/quartodown")

quartodown also needs Quarto installed.

Usage

Browse the site to see how it looks! Quarto features shows callouts, tabsets, footnotes and more on a quartodown site. If you like what you see, and want to use it for your own package, run:

quartodown::use_quartodown()

This writes _quartodown/_quartodown.yml, with a reference: field that lists your package’s current functions in one section; edit it to group them however you’d like. It also gitignores the files the build generates.

If your package already has a pkgdown site, most of _pkgdown.yml can be copied over as is; see Coming from pkgdown.

Then build the site:

quartodown::build_site()

In an interactive session, this also opens the site in your browser.

To publish it on GitHub Pages, run quartodown::use_quartodown_action(). It writes a GitHub Actions workflow that builds the site on every push and deploys it to the gh-pages branch.

See Customizing for everything _quartodown.yml can configure.

Packages using quartodown

Using quartodown for your package? Feel free to open a pull request adding it to this list.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("quartodown")

0.1.0 by Bjarke Hautop Kristensen, a day ago


https://bjarkehautop.github.io/quartodown/, https://github.com/bjarkehautop/quartodown


Report a bug at https://github.com/bjarkehautop/quartodown/issues


Browse source code at https://github.com/cran/quartodown


Authors: Bjarke Hautop Kristensen [aut, cre, cph] , Hadley Wickham [ctb] (Code adapted from pkgdown) , Jay Hesselberth [ctb] (Code adapted from pkgdown) , Maëlle Salmon [ctb] (Code adapted from pkgdown) , Olivier Roy [ctb] (Code adapted from pkgdown) , Salim Brüggemann [ctb] (Code adapted from pkgdown) , Posit Software , PBC [cph] (Copyright holder of pkgdown)


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports cli, desc, downlit, fansi, fs, quarto, tools, utils, xml2, yaml

Suggests httr2, pkgload, servr, testthat, withr

System requirements: Quarto command line tool (<https://github.com/quarto-dev/quarto-cli>).


See at CRAN