tidyverse.org
This repo is the source of https://tidyverse.org, and this readme tells you how it all works.
-
If you spot any small problems with the website, please feel empowered to fix them directly with a PR.
-
If you see any larger problems, an issue is probably better: that way we can discuss the problem before you commit any time to it.
This repo (and resulting website) is licensed as CC BY-SA.
Workflow
This site now uses hugodown rather than blogdown. Install it with:
pak::pkg_install("r-lib/hugodown")
-
To add a new post call
hugodown::use_tidy_post("short-name")
. This createscontent/blog/short-name/
containing anindex.Rmd
file that tells you what to do next. Patterns we use a lot for"short-name"
:- Package release:
lifecycle-1-0-0
,parsnip-0-1-2
- Package (release?) and a specific topic:
dplyr-1-0-0-rowwise
,parsnip-adjacent
,dplyr-1-0-4-if-any
- Topic:
self-cleaning-test-fixtures
,taking-control-of-plot-scaling
- Package release:
-
To add a new event call
hugodown::post_create("events/year-event-name")
. -
Knit
index.Rmd
to generateindex.md
. -
To preview the site (i.e. turn
.md
into.html
), callhugodown::hugo_start()
(you only need to do this once per session as it will continue to run in the background). -
Every blog post has to be accompanied by a photo (precise details are provided in the
.Rmd
template). If you don't already have a image in mind, try https://unsplash.com, https://pexels.com, or Jenny Bryan's free photo link collection.
The tidyverse site is automatically published with netlify, so every PR will automatically get a live preview. Once the PR is merged, that preview becomes the live site.
Changes from blogdown
The main difference is that hugodown cleanly separates the process of building the site into two steps: hugodown generates .md
from .Rmd
, then hugo generates .html
from .md
. This leads to the following changes:
-
We once again use
.Rmd
, which generates.md
, not.html
. -
.Rmd
s are only rendered when you explicitly knit them. If you're concerned that an.md
is out of date, callhugodown::site_outdated()
to list all.Rmd
s that need to be re-rendered. -
.Rmd
files useoutput: hugodown::hugo_document
to which automatically sets the correct chunk knitr options. -
If you want to change an old blog post to use hugodown, you need to rename it from
.Rmarkdown
to.Rmd
, delete the.markdown
file, and setoutput: hugodown::hugo_document
in the yaml metadata.