--- title: "Get started with quartodown" vignette: > %\VignetteIndexEntry{Get started with quartodown} %\VignetteEngine{quarto::html} %\VignetteEncoding{UTF-8} --- quartodown builds a website for an R package with [Quarto](https://quarto.org/). This guide sets up a package, builds its site, and publishes it on GitHub Pages. ## Set up From the root of your package, run: ```r quartodown::use_quartodown() ``` This writes `_quartodown/_quartodown.yml`, and adds the files the build generates to `.gitignore` and `.Rbuildignore`. `_quartodown.yml` is where you can [customize your site](https://bjarkehautop.github.io/quartodown/vignettes/customizing.html). If your package already has a `_pkgdown.yml`, see [Coming from pkgdown](https://bjarkehautop.github.io/quartodown/vignettes/customizing.html#coming-from-pkgdown) for how its settings carry over. ## Build the site ```r quartodown::build_site() ``` `build_site()` builds the site into `docs/` and, in an interactive session, opens it in your browser. The page reloads when you rebuild, and `preview_site()` opens it again if you've closed it. Examples and vignettes run against your package's current source. While iterating, `build_site(devel = TRUE)` is faster because it loads the package with `pkgload::load_all()` instead of installing it. The following is added to your site: - **Home page**: your `README.md`. Next to it, a sidebar links to the source code, the bug tracker and CRAN (if the package is there), and shows the license, citation and authors from `DESCRIPTION`. Any badges in your README (between `` and ``) are moved into the sidebar. - **Reference**: a page for each help topic in `man/`, plus an index page listing them all. - **Get started**: the vignette with the same name as your package, like this one. - **Articles**: all your other vignettes, including any in subfolders such as `vignettes/articles/`. - **Changelog**: your `NEWS.md`. Issue numbers like `#123` and GitHub usernames like `@user` become links. ## Publish on GitHub Pages To build the site and deploy it to the `gh-pages` branch on every push, add a GitHub Actions workflow: ```r quartodown::use_quartodown_action() ``` This writes `.github/workflows/quartodown.yaml`. Commit and push it. Once its first run has created the `gh-pages` branch, go to the *Pages* section of your repository's settings on GitHub and choose to deploy from that branch. ## Learn more [Customizing your site](https://bjarkehautop.github.io/quartodown/vignettes/customizing.html) covers everything `_quartodown.yml` can change. [Quarto features](https://bjarkehautop.github.io/quartodown/vignettes/articles/showcase.html) shows Quarto's authoring features, such as callouts, tabsets and footnotes, on a quartodown site. [Technical details](https://bjarkehautop.github.io/quartodown/vignettes/articles/technical.html) explains how a build works.