<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Alison Hill, PhD</title>
    <link>https://www.apreshill.com/</link>
    <description>Recent content on Alison Hill, PhD</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 01 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.apreshill.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Theseus Benchmarks Report</title>
      <link>https://www.apreshill.com/project/benchmarks/</link>
      <pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/benchmarks/</guid>
      <description>&lt;p&gt;The Benchmarks Report is a deep dive into how and why Voltron Data does benchmarking differently, and presents data comparing compute performance of our engine, Theseus, to Spark.&lt;/p&gt;
&lt;p&gt;I led the development of the report, which involved industry/market research, subject matter expert interviews with engineers, and cross-functional strategic storytelling alignment with founders. I also drove the development of the interactive data visualizations, which were created by the talented 
&lt;a href=&#34;https://www.tanyashapiro.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tanya Shapiro&lt;/a&gt;. This report defined our first feature launch for the Theseus engine in spring 2024, announced at Nvidia&amp;rsquo;s GTC conference.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Composable Codex</title>
      <link>https://www.apreshill.com/project/codex/</link>
      <pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/codex/</guid>
      <description>&lt;p&gt;The Composable Codex is a 5-part guide to building composable data systems layer by layer with open standards like Apache Arrow. I researched, wrote, and designed the Codex as part of my role on Voltron Data&amp;rsquo;s Go-To-Market Strategy team. This initiative was the onramp to our first product launch for the Theseus engine in fall 2023.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The happiest notebooks on Earth</title>
      <link>https://www.apreshill.com/talk/2022-canssi-happiest-nb/</link>
      <pubDate>Thu, 10 Nov 2022 13:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2022-canssi-happiest-nb/</guid>
      <description>&lt;p&gt;Notebooks hold a special place in every data scientist&amp;rsquo;s heart. They may treasure every moment creating their own, or commenting on others&amp;rsquo; notebooks. Or they may sincerely and truly hate notebooks. But notebooks are useful. How could we &amp;ldquo;imagineer&amp;rdquo; better notebooks? I’ve made and read hundreds of notebooks in the past decade. In this talk, I share key principles for developing happier notebooks – ones that are more fun to write, more fun to read, and more fun as an onramp to the next ride.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The happiest notebooks on Earth</title>
      <link>https://www.apreshill.com/talk/2022-observable-happiest-nb/</link>
      <pubDate>Thu, 27 Oct 2022 18:50:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2022-observable-happiest-nb/</guid>
      <description>&lt;p&gt;Notebooks hold a special place in every data scientist&amp;rsquo;s heart. They may treasure every moment creating their own, or commenting on others&amp;rsquo; notebooks. Or they may sincerely and truly hate notebooks. But notebooks are useful. How could we &amp;ldquo;imagineer&amp;rdquo; better notebooks? I’ve made and read hundreds of notebooks in the past decade. In this talk, I share key principles for developing happier notebooks – ones that are more fun to write, more fun to read, and more fun as an onramp to the next ride.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The untold story of palmerpenguins</title>
      <link>https://www.apreshill.com/talk/2022-user-penguins/</link>
      <pubDate>Tue, 21 Jun 2022 08:45:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2022-user-penguins/</guid>
      <description>&lt;p&gt;The &lt;strong&gt;palmerpenguins&lt;/strong&gt; R package provides a modern, approachable dataset containing body size measurements for three penguin species that nest on islands throughout the Palmer Archipelago, Western Antarctic Peninsula. Since &lt;strong&gt;palmerpenguins&lt;/strong&gt; was released on the Comprehensive R Archive Network (CRAN) in July 2020, the package has been downloaded over 340,000 times, was quickly adapted for use in other languages including Python&amp;rsquo;s seaborn package and Google&amp;rsquo;s TensorFlow datasets, and has become a go-to option for data science and statistics educators worldwide. In this talk, we share the untold story of the &lt;strong&gt;palmerpenguins&lt;/strong&gt; package. From original data collection on rocky Antarctic shores to CRAN submission and beyond, we describe the penguins&amp;rsquo; journey from polar research project to global teaching product. What started out as a simple methods paper for a dissertation project turned into a widely used data science product mainly because of initial efforts to make the data publicly available and easily accessible by others. The success of the &lt;strong&gt;palmerpenguins&lt;/strong&gt; R package underscores the importance of proper data archiving for unknown future applications.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>We don&#39;t talk about Quarto</title>
      <link>https://www.apreshill.com/blog/2022-04-we-dont-talk-about-quarto/</link>
      <pubDate>Mon, 04 Apr 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2022-04-we-dont-talk-about-quarto/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Thumbnail image from the 
&lt;a href=&#34;https://d23.com/why-everyone-is-talking-about-bruno-from-encanto/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Official Disney Fan Club
website&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2 id=&#34;background&#34;&gt;Background
  &lt;a href=&#34;#background&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Early last year, I was busily checking 
&lt;a href=&#34;https://quarto.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Quarto&lt;/a&gt;,
and totally terrified of checking Twitter. Seriously, I held my breath
every time. It. Was. Not. Ready. It was changing fast and breaking fast.
Everyday I was seeing the GitHub stars slowly creeping up, and I was
nervous. And we had all agreed on our team that &lt;em&gt;&amp;ldquo;We don&amp;rsquo;t talk about
Quarto&amp;rdquo;&lt;/em&gt; on the outside (this was
pre-
&lt;a href=&#34;https://en.wikipedia.org/wiki/Encanto_%28film%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Encanto&lt;/a&gt;). That means
not a single one of us were tweeting or blogging about it, or even at
that point trying to teach it to anyone &amp;mdash; yet.&lt;/p&gt;
&lt;p&gt;But, things started easing up. By the time summer internship positions
at RStudio 
&lt;a href=&#34;https://www.rstudio.com/blog/summer-internship-2021/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;were
announced&lt;/a&gt;, I was
excited to have reserved a slot for our first Quarto intern, who would
be tasked with working with myself, 
&lt;a href=&#34;https://github.com/jjallaire&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;JJ
Allaire&lt;/a&gt;, and 
&lt;a href=&#34;https://github.com/dragonstyle&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Charles
Teague&lt;/a&gt; to help get the Quarto docs off
the ground. We brought 
&lt;a href=&#34;https://pommevilla.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Paul Villanueva&lt;/a&gt;
on in one of the best hiring decisions I&amp;rsquo;ve made, and he ended up doing
&lt;em&gt;so much more&lt;/em&gt; than just docs! By August 2021, I had convinced Paul to
join me as a TA to teach the first public Quarto workshop for the
R/Medicine. And I honestly felt comfortable teaching Quarto then &amp;mdash; it
felt like it was time. Luckily, the Quarto team had stabilized releases
of Quarto in August before the workshop, and we were able to spin up a
custom RStudio Cloud environment to use a preview release of the RStudio
IDE, and we were off!&lt;/p&gt;
&lt;p&gt;Fast forward to now, and 
&lt;a href=&#34;https://www.nature.com/articles/d41586-022-00563-z&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;it looks like we are
talking&lt;/a&gt; about
Quarto. I am &amp;gt;6 months from my time at RStudio and I am writing a book
with the amazing 
&lt;a href=&#34;https://github.com/rich-iannone&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Rich Iannone&lt;/a&gt; about
doing data science with R and Quarto, in a Quarto book, and I&amp;rsquo;ve built
an internal knowledge repository for my IBM team with Quarto (these are
not R or RStudio users!). So in this post, I thought I&amp;rsquo;d finally share
my notes to myself after testing and teaching Quarto, and now as a user
and enabler.&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&#34;https://media.giphy.com/media/ievgCulkRxHoVBlkwH/giphy.gif&#34; alt=&#34;Mirabel sliding down the stairs in Encanto&#34; /&gt;
&lt;figcaption aria-hidden=&#34;true&#34;&gt;Mirabel sliding down the stairs in
Encanto&lt;/figcaption&gt;
&lt;/figure&gt;




&lt;h2 id=&#34;what-actually-is-quarto&#34;&gt;What actually is Quarto?
  &lt;a href=&#34;#what-actually-is-quarto&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So thanks for the blog post Alison, but what actually is Quarto?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/HG6FHWzOJQiWvNTPjh/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;That is a great question. Four things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It is a way to render plain text source files that contain code
written in Python, R, or Observable.
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If you want to use Python, you don&amp;rsquo;t need to install R or
RStudio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want to use R, you don&amp;rsquo;t have to install Python.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want to use Observable, you just can in a Quarto document
or project.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In any language, when you render, you execute the code and include
plots, tables, and other results in your output woven together with
narrative text. So it is still &amp;ldquo;literate programming.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;When you render, you can export to over 40 different output formats,
all enabled by 
&lt;a href=&#34;https://pandoc.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Pandoc&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Quarto adds functionality on top of Pandoc&amp;rsquo;s markdown language, and
the rest of this post will give you some pointers to these features.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Obviously, if you are already an R Markdown user, this will sound pretty
familiar but maybe a &lt;em&gt;shade&lt;/em&gt; different &amp;mdash; yet the software itself is a
completely new incantation designed from the bottom up.&lt;/p&gt;




&lt;h2 id=&#34;what-youll-need-to-know&#34;&gt;What you&amp;rsquo;ll need to know
  &lt;a href=&#34;#what-youll-need-to-know&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Quarto is actually a separate installation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What to do?&lt;/strong&gt; Follow 
&lt;a href=&#34;https://quarto.org/docs/get-started/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Step
1&lt;/a&gt; to download Quarto for
your OS. I do this now regularly about once a week to make sure
I&amp;rsquo;m getting the latest goodies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There is also an 
&lt;a href=&#34;https://cran.r-project.org/web/packages/quarto/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R
package&lt;/a&gt;,
which will allow you to render at the command line if you aren&amp;rsquo;t
an RStudio IDE/button clicking person, but you could also use
the terminal, which is what I do.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Quarto works within the RStudio IDE.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What to do?&lt;/strong&gt; Download the latest RStudio IDE release from
this link:

&lt;a href=&#34;https://quarto.org/docs/get-started/hello/rstudio.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://quarto.org/docs/get-started/hello/rstudio.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It has actually worked inside the RStudio IDE for almost a year.
It was previously supported only in the

&lt;a href=&#34;https://dailies.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;dailies&lt;/a&gt; (which are honestly
low-risk to download and use!). But nowadays it works with the
latest official released version of the RStudio IDE. I still
update my RStudio version to the latest daily whenever I
remember to update Quarto.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It also works in 
&lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;VSCode&lt;/a&gt;; see
&lt;strong&gt;Step 2&lt;/strong&gt; 
&lt;a href=&#34;https://quarto.org/docs/get-started/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The RStudio IDE&amp;rsquo;s 
&lt;a href=&#34;https://rstudio.github.io/visual-markdown-editing/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Visual R Markdown
Editor&lt;/a&gt; was in
actuality the first &amp;ldquo;shots fired&amp;rdquo; from Quarto. The

&lt;a href=&#34;https://www.rstudio.com/blog/rstudio-v1-4-preview-visual-markdown-editing/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;announcement&lt;/a&gt;
about the Editor was published 2020/09/30, and the 
&lt;a href=&#34;https://github.com/quarto-dev/quarto-cli/commit/3df555e2ce751ff98a5f0f2e7cd44b45e2dfd60c&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;first Quarto
commit&lt;/a&gt;
was only 5 days before on 2020/09/25.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fun fact:&lt;/strong&gt; I forgot to tell our first Quarto intern, Paul,
about the visual editor until about 4 weeks into his
internship&amp;mdash; and it totally changed his outlook, even as an
experienced Markdown user. So don&amp;rsquo;t sleep on the 
&lt;a href=&#34;https://quarto.org/docs/visual-editor/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;visual
editor&lt;/a&gt; when teaching
and using Quarto. In particular, don&amp;rsquo;t miss:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/visual-editor/content.html#editing-tables&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Easy editing/formatting of Markdown
tables&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy/paste from Google docs (did you know this? Literally
just copy any formatted text from Google docs and paste it
into the visual editor)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/visual-editor/technical.html#citations&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Citations&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/visual-editor/options.html#insert-anything&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The &amp;ldquo;insert anything&amp;rdquo; keyboard
shortcut&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/visual-editor/content.html#emojis&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Emojis
🥰&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;what-youll-like&#34;&gt;What you&amp;rsquo;ll like
  &lt;a href=&#34;#what-youll-like&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Across &lt;em&gt;all&lt;/em&gt; formats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Two column (and more) 
&lt;a href=&#34;https://quarto.org/docs/authoring/figures.html#complex-layouts&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;flexible content
layouts&lt;/a&gt;
for displaying images, code, text, tables, plots, anything. This to
me was the &amp;ldquo;one killer feature&amp;rdquo; when JJ first started showing me
regular demos &amp;mdash; I was floored. While

&lt;a href=&#34;https://patchwork.data-imaginist.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;patchwork&lt;/strong&gt;&lt;/a&gt; can get you
pretty far, this allows for literally anything (including just blank
space) to be in any position, making it a layout swiss army knife.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/computations/execution-options.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Global chunk
options&lt;/a&gt;
set in your YAML using the &lt;code&gt;execute&lt;/code&gt; key (no more 
&lt;a href=&#34;https://apreshill.github.io/rmd4cdc/#112&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;knitr&lt;/strong&gt; setup
chunk&lt;/a&gt;!). See all
supported chunk options (that go beyond &lt;strong&gt;knitr&lt;/strong&gt; ones)

&lt;a href=&#34;https://quarto.org/docs/reference/cells/cells-knitr.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;We don&amp;#39;t talk about Quarto&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;subtitle&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Until now!&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;execute&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;echo&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Instead of:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| label: setup
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| include: false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;knitr::opts_chunk$set(echo = FALSE)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/computations/execution-options.html#fenced-echo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Easier verbatim
chunks&lt;/a&gt;
using &lt;code&gt;echo: fenced&lt;/code&gt; as a code chunk option when you want to &lt;em&gt;show
and execute&lt;/em&gt; and double curly braces like &lt;code&gt;{r}&lt;/code&gt; for &lt;em&gt;show and
don&amp;rsquo;t execute&lt;/em&gt; (this was also

&lt;a href=&#34;https://github.com/yihui/knitr/issues/2040&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;improved&lt;/a&gt; in &lt;strong&gt;knitr&lt;/strong&gt;
too recently).&lt;/p&gt;
&lt;p&gt;For example, in the first chunk, I am using this chunk option here
(invisibly) to show a chunk where I am suppressing the results
printing:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| results: hide
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;1 + 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| results: show
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;1 + 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the chunk just above, I would allow the results to be shown, but
because I used &lt;code&gt;{r}&lt;/code&gt; as the chunk engine it isn&amp;rsquo;t evaluated.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/computations/r.html#chunk-options&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Chunk
options&lt;/a&gt;
as YAML with the special hashpipe &lt;code&gt;#|&lt;/code&gt; (great for 
&lt;a href=&#34;https://www.rstudio.com/blog/knitr-fig-alt/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;longish alt
text&lt;/a&gt;) (note that
Quarto also added a way to 
&lt;a href=&#34;https://quarto.org/docs/authoring/figures.html#alt-text&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;add alt
text&lt;/a&gt; for
Markdown inserted images, thanks to 
&lt;a href=&#34;https://github.com/quarto-dev/quarto-web/issues/20&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Silvia
Canelon&lt;/a&gt;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| label: penguin-plot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| fig-alt: &amp;#34;Scatterplot of flipper length by bill length of 3 penguin species, where we show penguins with bigger flippers have bigger bills.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;#| warning: false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;library(palmerpenguins)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(ggplot2)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ggplot(data = penguins, aes(x = flipper_length_mm,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            y = bill_length_mm,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            color = species)) +
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  geom_point(aes(shape = species), alpha = 0.8) +
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  scale_color_manual(values = c(&amp;#34;darkorange&amp;#34;,&amp;#34;purple&amp;#34;,&amp;#34;cyan4&amp;#34;)) 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src=&#34;index.markdown_strict_files/figure-markdown_strict/penguin-plot-1.png&#34; data-fig-alt=&#34;Scatterplot of flipper length by bill length of 3 penguin species, where we show penguins with bigger flippers have bigger bills.&#34; width=&#34;768&#34; /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Universal

&lt;a href=&#34;https://quarto.org/docs/authoring/cross-references.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cross-referencing&lt;/a&gt;
(
&lt;a href=&#34;https://pkgs.rstudio.com/bookdown/reference/index.html#single-document-output-formats&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;no more &lt;code&gt;bookdown::html_document2()&lt;/code&gt;,
etc.&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/computations/parameters.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Parameters&lt;/a&gt;
(side note: here is the first &lt;strong&gt;rmarkdown&lt;/strong&gt;

&lt;a href=&#34;https://github.com/rstudio/rmarkdown/issues/33&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;issue&lt;/a&gt; from 2014
that 
&lt;a href=&#34;https://themockup.blog/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tom Mock&lt;/a&gt; and I found where the idea
for parameters was &amp;ldquo;born&amp;rdquo; 👶)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And, if you are anything like me and your heart belongs to HTML
output&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;SUBFOLDERS for projects (praise be). Yes you can have a website or
book or any other multi-file Quarto project and render content in
even deeply nested subdirectories. Rejoice!&lt;/p&gt;
&lt;p&gt;To put in your final product, let your heart decide- you can either

&lt;a href=&#34;https://quarto.org/docs/books/book-structure.html#parts-appendices&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;list as chapters or as
parts&lt;/a&gt;
(similar to &lt;strong&gt;bookdown&lt;/strong&gt;) or use 
&lt;a href=&#34;https://quarto.org/docs/websites/website-listings.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;listing
pages&lt;/a&gt; (like
with &lt;strong&gt;distill&lt;/strong&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Built-in site

&lt;a href=&#34;https://quarto.org/docs/websites/website-navigation.html#site-search&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;search&lt;/a&gt;
(enabled by default for books and websites). Can also be

&lt;a href=&#34;https://quarto.org/docs/websites/website-search.html#search-appearance&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tweaked&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;Batteries included&amp;rdquo; HTML features across single documents and
projects (like HTML books, websites, etc). This may be a RIP to the
wonderful 
&lt;a href=&#34;https://holtzy.github.io/Pimp-my-rmd/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Pimp my Rmd&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Here are just a few features that were available in some but not
all R packages with &lt;code&gt;.Rmd&lt;/code&gt; ▶️ HTML output formats: 
&lt;a href=&#34;https://quarto.org/docs/output-formats/html-code.html#folding-code&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;code
folding&lt;/a&gt;,

&lt;a href=&#34;https://quarto.org/docs/output-formats/html-code.html#copy-button&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;copy/paste
chunks&lt;/a&gt;,

&lt;a href=&#34;https://quarto.org/docs/authoring/callouts.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;callout
blocks&lt;/a&gt;, 
&lt;a href=&#34;https://quarto.org/docs/output-formats/html-basics.html#table-of-contents&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TOC
on the
side&lt;/a&gt;,

&lt;a href=&#34;https://quarto.org/docs/output-formats/html-code.html#code-linking&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;code
linking&lt;/a&gt;
via 
&lt;a href=&#34;https://downlit.r-lib.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;downlit&lt;/a&gt; (previously only
available in 
&lt;a href=&#34;https://pkgdown.r-lib.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;pkgdown&lt;/a&gt;),

&lt;a href=&#34;https://quarto.org/docs/output-formats/html-basics.html#tabsets&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tabsets&lt;/a&gt;,

&lt;a href=&#34;https://quarto.org/docs/output-formats/html-basics.html#anchor-sections&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;anchored
headings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://quarto.org/docs/output-formats/html-code.html#code-tools&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Show
source&lt;/a&gt;
to anyone viewing your HTML output (this was previously only
possible with &lt;code&gt;rmarkdown::html_document()&lt;/code&gt; - 
&lt;a href=&#34;https://twitter.com/apreshill/status/1108925218850893832?lang=en&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my
tweet&lt;/a&gt;
from when I first discovered this output option!)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Compatibility with

&lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt;/
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown&lt;/a&gt;.
This post is a &lt;code&gt;.qmd&lt;/code&gt; file with &lt;code&gt;format: hugo&lt;/code&gt; 
&lt;a href=&#34;https://quarto.org/docs/output-formats/hugo.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rendered with
Quarto&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;We don&amp;#39;t talk about Quarto&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;subtitle&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Until now!&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;format&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;hugo&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There is nothing stopping you from using Quarto to render individual
posts, then blogdown to use Hugo, or just use Hugo from command
line. The Hugo-specific flavor of Markdown
(
&lt;a href=&#34;https://gohugo.io/getting-started/configuration-markup&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;goldmark&lt;/a&gt;)
is also 
&lt;a href=&#34;https://rstudio.github.io/visual-markdown-editing/markdown.html#hugo-markdown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;supported by the visual
editor&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;what-youll-stumble-on&#34;&gt;What you&amp;rsquo;ll stumble on
  &lt;a href=&#34;#what-youll-stumble-on&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Chunk options as YAML&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#| fig-alt: &amp;#34;Scatterplot of flipper length by bill length of 3 penguin species, where we show penguins with bigger flippers have bigger bills.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#| echo: false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#| warning: false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;I always forgot the symbol, which is &lt;code&gt;#|&lt;/code&gt; (read: the hashpipe).
If you also cannot remember this, channel your 90s kid and enjoy
this Weezer flashback:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
    
        
        &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
          &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/_9BGLtqqkVI?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
          &gt;&lt;/iframe&gt;
        &lt;/div&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;No equal sign, use a colon instead (i.e., &lt;code&gt;comment: &#39;&#39;&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the value is &lt;code&gt;true&lt;/code&gt;/&lt;code&gt;false&lt;/code&gt;, use lower case! (no more
screaming booleans!) 😱 So &lt;code&gt;echo: false&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To render to a specific format, use the &lt;code&gt;format&lt;/code&gt; YAML key (instead
of &lt;code&gt;output&lt;/code&gt;)&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;We don&amp;#39;t talk about Quarto&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;subtitle&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Until now!&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;format&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;html&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;kebab-case&lt;/code&gt; 🍡 for all YAML keys &lt;em&gt;and&lt;/em&gt; to delimit
figure/layout/code chunk options instead of &amp;hellip; what we had before.&lt;/p&gt;
&lt;p&gt;This will be confusing at first because your &lt;strong&gt;knitr&lt;/strong&gt; chunk options
won&amp;rsquo;t match the package documentation. See

&lt;a href=&#34;https://github.com/quarto-dev/quarto-cli/pull/83&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt; for the
change (Quarto will auto-convert &lt;code&gt;fig.alt&lt;/code&gt; for example to &lt;code&gt;fig-alt&lt;/code&gt;,
but still, you or someone you teach might be confused by this).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You&amp;rsquo;ll be rendering as your verb, not knitting 🧶 but you&amp;rsquo;ll still
be using the &lt;strong&gt;knitr&lt;/strong&gt; package as your

&lt;a href=&#34;https://quarto.org/docs/tools/rstudio.html#knitr-engine&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;engine&lt;/a&gt; if
you want to use R instead of Python code chunks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This also means to watch &lt;strong&gt;knitr&lt;/strong&gt; for news! 
&lt;a href=&#34;https://github.com/yihui/knitr/releases&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Follow releases
carefully&lt;/a&gt;&amp;mdash; they will
still matter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For projects like books, websites, blogs, &lt;code&gt;quarto render&lt;/code&gt; vs
&lt;code&gt;quarto preview&lt;/code&gt;. See docs

&lt;a href=&#34;https://quarto.org/docs/websites/#workflow&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;. Not sure I have
advice at this point, but do read this bit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note that development server updates do not cause an update to the
final site output. Consequently, you should always &lt;code&gt;quarto render&lt;/code&gt;
your site before deploying it, even if you have already previewed
the changes with the development server [with &lt;code&gt;quarto preview&lt;/code&gt;].&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;what-youll-miss-for-now&#34;&gt;What you&amp;rsquo;ll miss (for now)
  &lt;a href=&#34;#what-youll-miss-for-now&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Defining your own format.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Making and bundling templates that are easily shareable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Xaringan and remark.js for slides. This particular package and
flavor of markdown was 
&lt;a href=&#34;https://github.com/yihui/xaringan/issues/300&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;never supported in the visual
editor&lt;/a&gt; because it is
not a Pandoc-defined output format (the visual editor is specific to
Pandoc-flavored markdown). So for HTML slides in Quarto,

&lt;a href=&#34;https://quarto.org/docs/reference/formats/presentations/revealjs.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reveal.js&lt;/a&gt;
is where it is at. I had a 
&lt;a href=&#34;../../../../blog/2021-07-revealing-research/&#34;&gt;post&lt;/a&gt;
about doing that research too (actually all my testing at that time
was in Quarto!).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;what-you-probably-wont-miss&#34;&gt;What you (probably) won&amp;rsquo;t miss
  &lt;a href=&#34;#what-you-probably-wont-miss&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;All the packages, each one working &lt;em&gt;slightly&lt;/em&gt; different than the ones
you had already used. Essentially your experience trying to figure out
to work the shower everytime you go to a new hotel, but for each package
in the R Markdown ecosystem:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Every dang hotel I&amp;#39;ve stayed in. &lt;a href=&#34;https://t.co/xPb7PdwG2f&#34;&gt;pic.twitter.com/xPb7PdwG2f&lt;/a&gt;&lt;/p&gt;&amp;mdash; Keith Humphreys (@KeithNHumphreys) &lt;a href=&#34;https://twitter.com/KeithNHumphreys/status/1459606451467390976?ref_src=twsrc%5Etfw&#34;&gt;November 13, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;


&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you are on my blog, you are probably an R Markdown lover. As well you
should be. As am I. But who among us has not chased their own tail for
hours trying to figure out why one YAML key works over &lt;em&gt;here&lt;/em&gt; but not
over &lt;em&gt;there&lt;/em&gt;. Or perhaps you simply lacked the wherewithall to branch
out into the various extension packages because you sensed a rabbit hole
ahead. Or maybe you were a person who filed or upvoted GitHub issues
begging RStudio folks to just give you tabsets for

&lt;a href=&#34;https://github.com/rstudio/distill/issues/11&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;every&lt;/a&gt;

&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/429&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;single&lt;/a&gt;

&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/69&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;html-based&lt;/a&gt;

&lt;a href=&#34;https://github.com/rstudio/bookdown/issues/1219&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;output&lt;/a&gt;

&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/175&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;format&lt;/a&gt;. You probably
will not miss this.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;This one screwed me up so bad, I actually tried to go back to
&lt;strong&gt;rmarkdown&lt;/strong&gt; at one point and couldn&amp;rsquo;t figure out why I couldn&amp;rsquo;t
knit to &lt;code&gt;output_format: html_document&lt;/code&gt; 🤦🏻&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Empowering women in data (science)</title>
      <link>https://www.apreshill.com/talk/2022-rladies-cologne/</link>
      <pubDate>Mon, 21 Feb 2022 10:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2022-rladies-cologne/</guid>
      <description>&lt;p&gt;R-Ladies Cologne is kicking off with a roundtable on &amp;ldquo;Empowering Women in Data (Science)&amp;rdquo; on February 21, 2022, at 7 pm CET. We are excited to have four fantastic speakers from across the globe working in different fields to share their experiences, tips, tricks, and challenges with us! 🚀&lt;/p&gt;
&lt;p&gt;Our four amazing panelists are:&lt;/p&gt;
&lt;p&gt;✨ Alison Hill (Ph.D., Senior Data Scientist, AI Strategy &amp;amp; Innovation @IBM)&lt;/p&gt;
&lt;p&gt;✨ Ana Carolina Leote (PhD Candidate @ Cologne Graduate School of Ageing Research)&lt;/p&gt;
&lt;p&gt;✨ Angélica Becerra (Data Scientist @ cynkra GmbH)&lt;/p&gt;
&lt;p&gt;✨ Nina Hauser (Head of Data Literacy @ CorrelAid e.V.)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tidy your mental models</title>
      <link>https://www.apreshill.com/talk/2022-rug-mskcc/</link>
      <pubDate>Tue, 25 Jan 2022 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2022-rug-mskcc/</guid>
      <description>&lt;p&gt;In this talk, I shared some lessons learned from teaching and learning tidymodels over the past two years.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>R Markdown Notebooks for Scientific Communication</title>
      <link>https://www.apreshill.com/talk/2021-agu-panel/</link>
      <pubDate>Wed, 15 Dec 2021 10:45:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-agu-panel/</guid>
      <description>



&lt;h2 id=&#34;speakers&#34;&gt;Speakers
  &lt;a href=&#34;#speakers&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Alison Hill, RStudio&lt;/li&gt;
&lt;li&gt;Fernando Pérez, University of California, Berkeley&lt;/li&gt;
&lt;li&gt;Simon Goring, University of Wisconsin / Leah Wasser, Earth Lab at CU Boulder / Laura DeCicco, USGS&lt;/li&gt;
&lt;li&gt;Loren Shure, MathWorks&lt;/li&gt;
&lt;li&gt;Hugh Shanahan, University of London / RDA&lt;/li&gt;
&lt;li&gt;Chris Erdmann, American Geophysical Union&lt;/li&gt;
&lt;li&gt;Kenton McHenry or Dan Katz (moderator), University of Illinois&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;panel-abstract&#34;&gt;Panel abstract
  &lt;a href=&#34;#panel-abstract&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;As science becomes more and more dependent on data and software, capturing these elements of the modern scientific procedure has become critical in achieving reproducibility. Computational notebooks have emerged as an increasingly valued way of capturing not only the traditional elements of a scientific paper but also the software steps in an executable and reproducible manner. As part of the 2020 EarthCube Annual Meeting, the EarthCube office, Leadership Council, and Technical Architecture Committee experimented by issuing a call focused on notebook submissions as peer reviewed publications. The call was well received by the community: 21 Jupyter notebooks were submitted, and 12 of these were accepted for publication. As part of the 2021 call for notebooks, the idea of expanding this call to more types of “notebooks” is being discussed, with the goal of eliciting submissions from a wider group of researchers, who may be more comfortable with other notebook technologies.&lt;/p&gt;
&lt;p&gt;The proposed session will bring together representatives from the major “notebook” efforts, efforts such as Jupyter, RStudio, and commercial efforts such as MATLAB live scripts. Presenters will discuss the latest developments in each of their technologies, emphasizing elements that support the notions of ease of use, long-term executability, interoperability, and software publication. Lessons learned from building a geoscience-focused notebook directory, notebook template, and long-term preservation in AGU’s ESSOaR will be discussed as well as how this relates to international efforts to elevate notebooks and make them FAIR.&lt;/p&gt;




&lt;h2 id=&#34;talk-abstract&#34;&gt;Talk abstract
  &lt;a href=&#34;#talk-abstract&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In this talk, I&amp;rsquo;ll describe the R Markdown ecosystem for computational notebooks that support the full lifecycle of scientific communication, including basic reports, presentations, peer-reviewed journal article submissions, and long-form books. The ecosystem has roots in the Pandoc open source project, and includes a family of R packages scientists can use for research.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduction to Machine Learning with Tidymodels</title>
      <link>https://www.apreshill.com/talk/2021-tidymodels-it/</link>
      <pubDate>Wed, 15 Sep 2021 03:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-tidymodels-it/</guid>
      <description>&lt;p&gt;Due to COVID-19, 
&lt;a href=&#34;https://sismecbari2021.it/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;the conference&lt;/a&gt; was held remotely instead of in Bari, Italy.&lt;/p&gt;
&lt;p&gt;This six-hour workshop will provide a gentle introduction to machine learning with R using the modern suite of predictive modeling packages called tidymodels. We will build, evaluate, compare, and tune predictive models. Along the way, we’ll learn about key concepts in machine learning including overfitting, the holdout method, the bias-variance trade-off, ensembling, cross-validation, and feature engineering. Learners will gain knowledge about good predictive modeling practices, as well as hands-on experience using tidymodels packages like parsnip, rsample, recipes, yardstick, tune, and workflows.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Up and running with officedown</title>
      <link>https://www.apreshill.com/blog/2021-07-officedown/</link>
      <pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2021-07-officedown/</guid>
      <description>&lt;p&gt;Lately, I&amp;rsquo;ve been exploring the world of R Markdown through the lens of knitting to Microsoft output formats like Word and PowerPoint. I wanted to write down what I&amp;rsquo;ve learned so far about the officedown package for making PowerPoint (PPT) slides with R Markdown. It is extremely powerful, and I&amp;rsquo;ve now referred a lot of folks to it, but it was pretty hard for me to grasp at first. These notes are a rough account of my own personal 
&lt;a href=&#34;https://www.trychameleon.com/blog/friction-logs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;friction log&lt;/a&gt; for the next time I use officedown.&lt;/p&gt;




&lt;h2 id=&#34;why-use-officedown&#34;&gt;Why use officedown?
  &lt;a href=&#34;#why-use-officedown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Why use it? To knit to Microsoft PowerPoint (and Word). Naturally, you might ask, but Alison- there is an &lt;code&gt;rmarkdown::powerpoint_presentation&lt;/code&gt; output format already. Yes 
&lt;a href=&#34;https://pkgs.rstudio.com/rmarkdown/reference/powerpoint_presentation.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;there is&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a great use case for not using that format though, from 
&lt;a href=&#34;https://www.pipinghotdata.com/about.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shannon Pileggi&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I don&amp;rsquo;t knit directly to ppt b/c editable graphics are key for finishing touches in our deliverables. If we could knit to powerpoint with an editable graphics option like in officer that would be a great feature.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/rstudio/rmarkdown/issues/2158&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Issue thread&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So officedown is definitely the answer for many users who wish to go beyond what the rmarkdown package can offer. For more on editable graphic workflows with R, Shannon has a 
&lt;a href=&#34;https://www.pipinghotdata.com/posts/2020-09-22-exporting-editable-ggplot-graphics-to-powerpoint-with-officer-and-purrr/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;great blog post&lt;/a&gt;.&lt;/p&gt;




&lt;h2 id=&#34;what-is-officedown&#34;&gt;What is officedown?
  &lt;a href=&#34;#what-is-officedown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It is a package whose goal is to allows users to write Word and Powerpoint documents using R Markdown. Install from CRAN:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;officedown&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(It will also download the officer package for you).&lt;/p&gt;
&lt;p&gt;Note that the GitHub page for this package does not include an &lt;strong&gt;Issues&lt;/strong&gt; tab: 
&lt;a href=&#34;https://github.com/davidgohel/officedown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/davidgohel/officedown&lt;/a&gt; This means there is no way for users to file bug reports, feature requests, etc. This is definitely a developer&amp;rsquo;s choice, but I&amp;rsquo;m not sure how to find a community of users for officedown questions or to get help if you suspect a bug. RStudio Community has a tag but only two posts as of today, one of which was asked by an RStudio employee and never answered &amp;#x1f62d; : 
&lt;a href=&#34;https://community.rstudio.com/tag/officedown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://community.rstudio.com/tag/officedown&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Officedown works with editable graphics &lt;em&gt;by default&lt;/em&gt;. This is huge plus for some workflows (like Shannon&amp;rsquo;s), but also a huge gotcha because it depends on another package that I didn&amp;rsquo;t know about and that officedown did not import for me: the 
&lt;a href=&#34;https://davidgohel.github.io/rvg/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rvg package&lt;/a&gt;. You must install it separately:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rvg&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I suspect but cannot confirm that the name of the package is r + vg (vector graphics). Then there is a function in that package that you &lt;em&gt;must&lt;/em&gt; use: &lt;code&gt;rvg::dml()&lt;/code&gt;, which I can with certainty tell you stands for DrawingML.&lt;/p&gt;
&lt;p&gt;What is DrawingML? Oh I&amp;rsquo;m so glad you asked, here is a link about it: 
&lt;a href=&#34;http://officeopenxml.com/drwOverview.php&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://officeopenxml.com/drwOverview.php&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;DrawingML is the language for defining graphical objects such as pictures, shapes, charts, and diagrams within ooxml documents.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What is ooxml?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Office Open XML, also known as OpenXML or OOXML, is an XML-based format for office documents, including word processing documents, spreadsheets, presentations, as well as charts, diagrams, shapes, and other graphical material.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Want more weird acronyms?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;It is important to keep in mind that OOXML is not the same as Open Office XML or the Open Document Format (ODF) that underlies the OpenOffice.org and other open source office software. Office Open XML and Open Office XML or ODF are in some sense competing XML standards for office documents.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What is XML?&lt;/p&gt;
&lt;p&gt;Learn here: 
&lt;a href=&#34;https://learnxinyminutes.com/docs/xml/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://learnxinyminutes.com/docs/xml/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Still want more? A brief history here:&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://en.wikipedia.org/wiki/Office_Open_XML_file_formats&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://en.wikipedia.org/wiki/Office_Open_XML_file_formats&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Do you need to know much of these acronyms? No, not really, but you&amp;rsquo;ll want &lt;code&gt;rvg::dml()&lt;/code&gt; burned into your brain as you&amp;rsquo;ll be typing it often.&lt;/p&gt;




&lt;h2 id=&#34;where-are-the-docs-at&#34;&gt;Where are the docs at?
  &lt;a href=&#34;#where-are-the-docs-at&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The creator of the officeverse collection of packages, which officedown is a part of, is named David Gohel. He has a bookdown book with a chapter on officedown, but it is only about Word rather than PPT output:&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://ardata-fr.github.io/officeverse/officedown-for-word.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://ardata-fr.github.io/officeverse/officedown-for-word.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For this reason alone, you may not realize you can use officedown to knit to PPT! I certainly didn&amp;rsquo;t until my colleague 
&lt;a href=&#34;https://cderv.rbind.io/about/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Christophe Dervieux&lt;/a&gt; gave me enough support to try it on my own.&lt;/p&gt;
&lt;p&gt;Here is the documentation for the PPT output format, although I found it minimally helpful:

&lt;a href=&#34;https://davidgohel.github.io/officedown/reference/rpptx_document.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://davidgohel.github.io/officedown/reference/rpptx_document.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I also found this video from a recent meetup by the package author helpful to watch:&lt;/p&gt;


    
    &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/sWDhPI8gKGg?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
      &gt;&lt;/iframe&gt;
    &lt;/div&gt;





&lt;h2 id=&#34;so-how-do-i-use-it&#34;&gt;So how do I use it?
  &lt;a href=&#34;#so-how-do-i-use-it&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The new output format officedown gives you is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-.yaml&#34; data-lang=&#34;.yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;officedown::rpptx_document&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Christophe shared this link with me, and it helped lot: 
&lt;a href=&#34;https://github.com/davidgohel/officedown/blob/master/inst/examples/minimal_powerpoint.Rmd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/davidgohel/officedown/blob/master/inst/examples/minimal_powerpoint.Rmd&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t realize at first that the package contains built-in R Markdown templates, which is now where I wish I had started. Use RStudio to access: &lt;em&gt;File &amp;gt; New File &amp;gt; R Markdown &amp;gt; From Template&lt;/em&gt; then find:&lt;/p&gt;
&lt;img src=&#34;template.png&#34; width=&#34;662&#34; /&gt;
&lt;p&gt;Once you are inside, go ahead and knit freely. I also recommend loading up a reference template sooner rather than later so you aren&amp;rsquo;t looking at that default deck for long. Here is how you add a reference template:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-.yaml&#34; data-lang=&#34;.yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;officedown::rpptx_document&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;reference_doc&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;alison-template.pptx&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can download my simple one here: 
&lt;a href=&#34;https://github.com/apreshill/rmd2ppt/tree/main/templates&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/apreshill/rmd2ppt/tree/main/templates&lt;/a&gt;&lt;/p&gt;




&lt;h2 id=&#34;a-brief-walk-through-the-template&#34;&gt;A brief walk through the template
  &lt;a href=&#34;#a-brief-walk-through-the-template&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;First, you have the packages loaded. Both &lt;code&gt;officedown&lt;/code&gt; and &lt;code&gt;rvg&lt;/code&gt; are critical here.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r setup, include=FALSE}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;knitr::opts_chunk$set(echo = FALSE, fig.cap = TRUE)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(officedown)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(ggplot2)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(rvg)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you try to knit the same deck without the &lt;code&gt;officedown&lt;/code&gt; package loaded, you will see slides like this:&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;oops-plot1.png&#34; alt=&#34;Two bad slides.&#34; width=&#34;49%&#34; /&gt;&lt;img src=&#34;oops-plot2.png&#34; alt=&#34;Two bad slides.&#34; width=&#34;49%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 1: Two bad slides.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;With officedown loaded, you should instead see:&lt;/p&gt;
&lt;img src=&#34;good-tabs.png&#34; width=&#34;1065&#34; /&gt;
&lt;p&gt;Next up, you&amp;rsquo;ll see slide number 1 (not to be confused with your title slide, which is populated from the YAML):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Table
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r layout=&amp;#39;Two Content&amp;#39;, ph=officer::ph_location_left()}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;head(cars)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d14&#34;&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r layout=&amp;#39;Two Content&amp;#39;, ph=officer::ph_location_right()}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;head(iris)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d14&#34;&gt;```&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The above creates two columns of R-based content. You won&amp;rsquo;t be able to add normal text to this slide. If you want normal text in one column opposite a plot, scroll down to this text in the template to see how:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## ggplot in right column
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt; Some
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt; Bullets
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r ph=officer::ph_location_right()}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mygg &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;ggplot&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;pressure&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;aes&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;x &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;temperature,&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;y &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;pressure))&lt;/span&gt; &lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#008080&#34;&gt;geom_point&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008080&#34;&gt;dml&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;ggobj &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;mygg)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;```&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Which produces:&lt;/p&gt;
&lt;img src=&#34;two-col.png&#34; width=&#34;1068&#34; style=&#34;display: block; margin: auto;&#34; /&gt;
&lt;p&gt;If you only wanted to use Markdown in each column, you&amp;rsquo;ll need to fall back on Pandoc&amp;rsquo;s two column syntax:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Pandoc columns
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::: {.columns}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: {.column}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;over here
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: {.column}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;over there
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::::
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Before you get any further, let&amp;rsquo;s explain these &lt;code&gt;ph&lt;/code&gt; things.&lt;/p&gt;




&lt;h3 id=&#34;placeholders&#34;&gt;Placeholders
  &lt;a href=&#34;#placeholders&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;These &lt;code&gt;ph&lt;/code&gt; knitr code chunk options are part of the officedown package, so in order to use them you must load the package! &lt;code&gt;ph&lt;/code&gt; stands for placeholder, and this is a specific way that Microsoft pours your 
&lt;a href=&#34;https://support.microsoft.com/en-us/office/add-edit-or-remove-a-placeholder-on-a-slide-layout-a8d93d28-66cb-43fd-9f9d-e12d0a7a1f06&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;slide content into a PowerPoint template&lt;/a&gt;.&lt;/p&gt;
&lt;img src=&#34;ph.png&#34; width=&#34;276&#34; style=&#34;display: block; margin: auto;&#34; /&gt;
&lt;p&gt;It is essentially a bunch of rectangles on a slide, each called a placeholder. Placeholders typically can hold either text or an image, but not both. For example, in a typical PowerPoint slide like the one above, you can insert either text (often with bullets) or an image &amp;ndash; but that is &lt;strong&gt;it&lt;/strong&gt;! The title is text, and is a separate placeholder.&lt;/p&gt;
&lt;p&gt;Placeholder values are themselves functions from the officer package with optional function arguments. Now I personally feel that &lt;code&gt;officer::ph_location_left()&lt;/code&gt; and &lt;code&gt;officer::ph_location_right()&lt;/code&gt; are a little long to type over and over again, which you will. Obviously you could load the officer package at the top, but still that function name is lengthy. I don&amp;rsquo;t have an answer for simplifying because there is no code completion for knitr chunk options. Maybe 
&lt;a href=&#34;https://github.com/gadenbuie/snippets&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;snippets&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Technically you can do left vs right with &lt;code&gt;rmarkdown::powerpoint_presentation&lt;/code&gt; too, but you have more options here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ph_location_type(type=&amp;quot;body&amp;quot;)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ph_location_fullsize()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ph_location(width = 2, height = 2, left = 2, top = 2)&lt;/code&gt; (for example)&lt;/li&gt;
&lt;li&gt;More documented here: 
&lt;a href=&#34;https://davidgohel.github.io/officer/reference/index.html#section-slide-content&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://davidgohel.github.io/officer/reference/index.html#section-slide-content&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;layouts&#34;&gt;Layouts
  &lt;a href=&#34;#layouts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;layout&lt;/code&gt; chunk option is harder. I think this name comes from the template you are using. To see your &lt;em&gt;actual&lt;/em&gt; options, I recommend now using the officer package directly to &lt;code&gt;read_pptx()&lt;/code&gt; of your template file, and the using &lt;code&gt;layout_summary()&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;## Seeing my layout options&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This is handy, `officer::layout_summary()`
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r echo=FALSE}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(officer)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my_template &amp;lt;- read_pptx(&amp;#34;alison-template.pptx&amp;#34;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;layout_summary(my_template) %&amp;gt;% knitr::kable()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here was my output:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;layout&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;master&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Title Slide&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Title and Vertical Text&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Vertical Title and Text&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Title and Content&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Section Header&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Two Content&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Comparison&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Title Only&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Blank&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Content with Caption&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Picture with Caption&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Office Theme&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;You can use any of these as valid &lt;code&gt;layout&lt;/code&gt;s. This is another difference between &lt;code&gt;rmarkdown::powerpoint_presentation&lt;/code&gt; which only supports four layouts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Title Slide&lt;/li&gt;
&lt;li&gt;Title and Content&lt;/li&gt;
&lt;li&gt;Section Header&lt;/li&gt;
&lt;li&gt;Two Content&lt;/li&gt;
&lt;/ol&gt;




&lt;h3 id=&#34;new-slides&#34;&gt;New slides
  &lt;a href=&#34;#new-slides&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;You might be wondering at this point is &amp;ldquo;how do I make new slides?&amp;rdquo; and &amp;ldquo;how does it know where a new slide starts?&amp;rdquo; This format derives from &lt;code&gt;rmarkdown::powerpoint_presentation&lt;/code&gt;, which derives from Pandoc. Pandoc documents 
&lt;a href=&#34;https://pandoc.org/MANUAL.html#structuring-the-slide-show&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;slide separators&lt;/a&gt; as follows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;By default, the slide level is the highest heading level in the hierarchy that is followed immediately by content, and not another heading, somewhere in the document. In the example above, level-1 headings are always followed by level-2 headings, which are followed by content, so the slide level is 2. This default can be overridden using the &amp;ndash;slide-level option.&lt;/p&gt;
&lt;p&gt;The document is carved up into slides according to the following rules:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;A horizontal rule always starts a new slide.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A heading at the slide level always starts a new slide.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Headings below the slide level in the hierarchy create headings within a slide.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Headings above the slide level in the hierarchy create “title slides,” which just contain the section title and help to break the slide show into sections. Non-slide content under these headings will be included on the title slide (for HTML slide shows) or in a subsequent slide with the same title (for beamer).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A title page is constructed automatically from the document’s title block, if present. (In the case of beamer, this can be disabled by commenting out some lines in the default template.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;Clear? Right, yea it confuses me too every time.&lt;/p&gt;
&lt;p&gt;The default &lt;code&gt;slide_level&lt;/code&gt; is 2, which means that you should expect to start new slides with &lt;code&gt;## My slide title&lt;/code&gt;. Starting a slide with &lt;code&gt;# A level 1 header&lt;/code&gt; will create a section title slide, using your section header layout (see 
&lt;a href=&#34;#layouts&#34;&gt;layouts above&lt;/a&gt;), and none of your body text will be displayed. You could change this in your YAML, but I recommend keeping the default:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-.yaml&#34; data-lang=&#34;.yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;officedown::rpptx_document&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;reference_doc&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;alison-template.pptx&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;slide_level&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default + recommended&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With that default, if you added:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# Let&amp;#39;s goooo
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Tables
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You would see:&lt;/p&gt;
&lt;img src=&#34;title-slide.png&#34; width=&#34;479&#34; /&gt;
&lt;p&gt;You cannot have normal body text on a section slide, so don&amp;rsquo;t add anything between those two slides or Pandoc will helpfully split off a new slide:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# Let&amp;#39;s goooo
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;anybody home?  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;don&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;t&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;do&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;this&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Table
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With &lt;code&gt;slide_level: 2&lt;/code&gt;, here is how a deck gets chopped up:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# I&amp;#39;m a new slide- a section header
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## I&amp;#39;m slide number 2, with content
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;### I&amp;#39;m also slide number 2, text is slightly bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I&amp;#39;m content on slide number 2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## I&amp;#39;m slide number 3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# I&amp;#39;m slide number 4- another section header
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can force a slide break using &lt;code&gt;---&lt;/code&gt;, but headers will still work the same way.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# I&amp;#39;m a new slide- a section header
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## I&amp;#39;m slide number 2, with content
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;### I&amp;#39;m also slide number 2, text is slightly bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I&amp;#39;m slide number 3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## I&amp;#39;m slide number 4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999&#34;&gt;# I&amp;#39;m slide number 5- another section header
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;plots&#34;&gt;Plots
  &lt;a href=&#34;#plots&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Including plots for me was sadly a long drawn-out affair. I didn&amp;rsquo;t understand:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;I had to use the &lt;code&gt;rvg::dml()&lt;/code&gt; wrapper for plots, even if I didn&amp;rsquo;t care if they were editable or not. This is &lt;em&gt;required&lt;/em&gt; if you don&amp;rsquo;t want &lt;strong&gt;TRUE&lt;/strong&gt; printed after each plot. In a two-column slide layout, non-&lt;code&gt;dml()&lt;/code&gt; wrapped plots will also appear on a slide by themselves, without an error.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;true-plot1.png&#34; width=&#34;49%&#34; /&gt;&lt;img src=&#34;true-plot2.png&#34; width=&#34;49%&#34; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you further want to use ggplot2, you &lt;em&gt;also&lt;/em&gt; cannot just print your plot object, you must use &lt;code&gt;dml(ggobj = my_plot)&lt;/code&gt;. This one &lt;em&gt;really&lt;/em&gt; got me. Again, in the template, but less well-documented elsewhere. If you try to wrap a ggplot2 object in &lt;code&gt;dml()&lt;/code&gt; only, you might see this error:&lt;/p&gt;
 &lt;img src=&#34;dml-error.png&#34; width=&#34;730&#34; /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You cannot combine text and code or plots inside the same placeholder. They cannot co-exist. If you do, the text is either overlaid or covered up by your code/output. This is how &lt;code&gt;rmarkdown::powerpoint_presentation&lt;/code&gt; works as well. A way around it is to use figure and table captions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I use &lt;code&gt;ref.label&lt;/code&gt; all the time to 
&lt;a href=&#34;https://yihui.org/en/2021/05/knitr-reuse/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reuse code chunks&lt;/a&gt;, especially for plots. Because of the above, you&amp;rsquo;ll need to always create and save a plot object, then wrap it is &lt;code&gt;rvg::dml(ggobj=mygg)&lt;/code&gt; in the origin chunk. I get an error if I try to use the magrittr pipe here (&lt;code&gt;%&amp;gt;%&lt;/code&gt; , so this gets a bit laborious to change your plotting ways. For example:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;## Testing officedown&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r flipper-hist, include=FALSE}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(palmerpenguins)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(dplyr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;library(ggplot2)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Histogram example: flipper length by species
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flipper-hist &amp;lt;- ggplot(data = penguins, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       aes(x = flipper_length_mm)) +
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  geom_histogram(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    aes(fill = species),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    alpha = 0.5, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    position = &amp;#34;identity&amp;#34;) + 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  scale_fill_manual(values = c(&amp;#34;darkorange&amp;#34;,&amp;#34;darkorchid&amp;#34;,&amp;#34;cyan4&amp;#34;)) 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rvg::dml(ggobj = flipper-hist) # you must do this!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r layout=&amp;#39;Two Content&amp;#39;, width=2, ph=officer::ph_location_left(), warning=FALSE, message=FALSE, echo=FALSE}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguins %&amp;gt;% 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  count(species)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```{r ref.label=&amp;#39;flipper-hist&amp;#39;, width=2, layout=&amp;#39;Two Content&amp;#39;, ph=officer::ph_location_right(), echo=FALSE, warning=FALSE, message=FALSE}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;wrapping-up&#34;&gt;Wrapping up
  &lt;a href=&#34;#wrapping-up&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;This is as far as I got with officedown. I can see it being very useful to users who need more control over their Microsoft outputs than base rmarkdown and Pandoc can provide. However, there are definitely some places where a typical R Markdown user will accumulate pretty serious papercuts.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d love to hear about happy officedown use cases and the problems it solves for teams! I know a lot of organizations run on Microsoft Office products, so I appreciate the hard work that has gone into this suite of tools.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Revealing research</title>
      <link>https://www.apreshill.com/blog/2021-07-revealing-research/</link>
      <pubDate>Thu, 22 Jul 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2021-07-revealing-research/</guid>
      <description>&lt;script src=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/clipboard/clipboard.min.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/shareon/shareon.min.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/shareon/shareon.min.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/xaringanExtra-shareagain/shareagain.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/xaringanExtra-shareagain/shareagain.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://www.apreshill.com/blog/2021-07-revealing-research/index_files/fitvids/fitvids.min.js&#34;&gt;&lt;/script&gt;




&lt;h2 id=&#34;background&#34;&gt;Background
  &lt;a href=&#34;#background&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Lately, one of the most exciting things you can say to me (at work) is&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Why aren’t people using X? What are the problems with X, and how can
we fix them?”&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sometimes, I know these answers already by heart,
because I have lived and breathed X. This is how blogdown was for me -

&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/476&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;I felt very tuned in to the usability problems
there&lt;/a&gt;, and had 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/525&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;good
ideas for how to resolve
them&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Other times, I have not used X (yet!). This happened to me recently when
I was asked:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Why aren’t people using reveal.js for slides with R
Markdown? What are the problems with reveal.js, and how can we fix
them?”&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What is reveal.js? Here is a demo deck:&lt;/p&gt;
&lt;iframe src=&#34;https://revealjs.com/demo/&#34; width=&#34;672&#34; height=&#34;400px&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;It’s possible you’ve heard or seen reveal.js before - and it didn’t look this good! It may have looked more like this:&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;p&gt;&lt;img src=&#34;revealjs-1.png&#34; alt=&#34;Two sample slides created from the revealjs package.&#34; width=&#34;49%&#34; /&gt;&lt;img src=&#34;revealjs-2.png&#34; alt=&#34;Two sample slides created from the revealjs package.&#34; width=&#34;49%&#34; /&gt;&lt;/p&gt;
&lt;p class=&#34;caption&#34;&gt;
Figure 1: Two sample slides created from the revealjs package.
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This…never quite worked for me. If you know my work, you know I’m a pretty big fan of the

&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;xaringan package&lt;/a&gt; by 
&lt;a href=&#34;https://yihui.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui
Xie&lt;/a&gt; for making HTML-based slides with R Markdown.
That package wraps a third-party JavaScript library called

&lt;a href=&#34;https://github.com/gnab/remark&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;remark.js&lt;/a&gt; and lets you use that to
knit R code and its output into your remark.js slides. I’ve used
xaringan for 
&lt;a href=&#34;https://alison.rbind.io/talk/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;years&lt;/a&gt;, and have taught it
quite a lot too. It helps me make slides like this:&lt;/p&gt;
&lt;div class=&#34;shareagain&#34; style=&#34;min-width:300px;margin:1em auto;&#34;&gt;
&lt;iframe src=&#34;https://alison.netlify.app/ares-kind-tools/#1&#34; width=&#34;1600&#34; height=&#34;900&#34; style=&#34;border:2px solid currentColor;&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;script&gt;fitvids(&#39;.shareagain&#39;, {players: &#39;iframe&#39;});&lt;/script&gt;
&lt;/div&gt;
&lt;p&gt;I love it, but also recognize that 
&lt;a href=&#34;https://community.rstudio.com/t/r-presentations-for-beginners/1222&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;it is
hard&lt;/a&gt;,
and that it is not intended for beginners (hence the “ninja” references
in the package name and supporting documentation).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Which is too bad, because I think HTML-based slides are a great way for beginners to get started using R Markdown.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So here we are! Why aren’t people using reveal.js? I set out to find
out, and thought this was a great example of one of the things I love
most about being a Product Manager. Since I am not a current user, but
would conceivably be a target user, I get to play the part of the
“wide-eyed doe in the woods” - eager to learn but also a little cautious - will reveal.js cause me pain? It is likely&lt;/p&gt;
&lt;p&gt;Plus, since it has been almost 6 months since my last blog post, I thought I would turn this early research project into a blog post to give a glimpse of some of the daily work I do as the Product Manager for Data Science Communication at RStudio.&lt;/p&gt;




&lt;h2 id=&#34;goal&#34;&gt;Goal
  &lt;a href=&#34;#goal&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Understand how users experience using reveal.js to make slides, and
identify areas for improvement.&lt;/p&gt;




&lt;h2 id=&#34;the-competition&#34;&gt;The competition
  &lt;a href=&#34;#the-competition&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The landscape of HTML slide-making is unfortunately pretty big, but it’s important to sketch it out. There
are lots of frameworks, largely based off of different JavaScript tools.
I see almost a new one a month! If you just look at Pandoc alone, it
supports 
&lt;a href=&#34;https://pandoc.org/MANUAL.html#slide-shows&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;five different
frameworks&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://meyerweb.com/eric/tools/s5/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;S5&lt;/a&gt;,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://paulrouget.com/dzslides/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DZSlides&lt;/a&gt;,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.w3.org/Talks/Tools/Slidy2/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Slidy&lt;/a&gt;,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://goessner.net/articles/slideous/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Slideous&lt;/a&gt;, or&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://revealjs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reveal.js&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/gnab/remark&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Remark.js&lt;/a&gt; is another popular one, as I
mentioned earlier. There is also

&lt;a href=&#34;https://webslides.tv/#slide=1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Webslides&lt;/a&gt;. And

&lt;a href=&#34;https://sli.dev/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Slidev&lt;/a&gt;. And 
&lt;a href=&#34;https://github.com/shower/shower&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shower&lt;/a&gt;. And 
&lt;a href=&#34;https://marp.app&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Marp&lt;/a&gt;. And more I’m sure! (In fact, here is a 
&lt;a href=&#34;https://gist.github.com/johnloy/27dd124ad40e210e91c70dd1c24ac8c8&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;gist&lt;/a&gt; with more.)&lt;/p&gt;
&lt;p&gt;The rmarkdown package also supports

&lt;a href=&#34;https://pkgs.rstudio.com/rmarkdown/reference/ioslides_presentation.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ioslides&lt;/a&gt;
as an output format.&lt;/p&gt;




&lt;h2 id=&#34;why-revealjs&#34;&gt;Why reveal.js?
  &lt;a href=&#34;#why-revealjs&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So starting simple: why do we think R Markdown users could benefit from
using reveal.js?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Pandoc slide syntax&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://rstudio.github.io/visual-markdown-editing/#/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Visual editor
support&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Powered by 
&lt;a href=&#34;https://slides.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;slides.com&lt;/a&gt; for publishing/sharing-
so well supported (that is paid though)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Good docs: 
&lt;a href=&#34;https://revealjs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Extensive plug-ins are available to extend:

&lt;a href=&#34;https://revealjs.com/plugins/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/plugins/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We have an existing package (
&lt;a href=&#34;https://github.com/rstudio/revealjs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rstudio/revealjs&lt;/a&gt;)
(albeit a little out-of-date)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Built in themes: 
&lt;a href=&#34;https://revealjs.com/themes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/themes/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It is also a supported slideshow framework for Jupyter/IPython via

&lt;a href=&#34;https://rise.readthedocs.io/en/stable/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RISE&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Custom themes are possible (but perhaps not easy) using SASS layers: 
&lt;a href=&#34;https://github.com/hakimel/reveal.js/blob/master/css/theme/README.md&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/hakimel/reveal.js/blob/master/css/theme/README.md&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;research-questions&#34;&gt;Research questions
  &lt;a href=&#34;#research-questions&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Given all these pluses, and the competition, what do we want to know/&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[Functionality]&lt;/code&gt; How, if at all, do users expect to use reveal.js?
What problems does it solve for them, and what are unaddressed
problems?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[Ease of use]&lt;/code&gt; Where, if at all, do users express uncertainty,
frustration, or confusion? What API problems arise?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[Task success]&lt;/code&gt; What kinds of messages, warnings, or errors do
users encounter when using reveal.js? Where, if at all, do they get
stuck or confused? What, if any, strategies or resources do they
find for troubleshooting?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;method&#34;&gt;Method
  &lt;a href=&#34;#method&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;With these goals in mind, I wanted to start with just a few days of work, because I couldn’t tell how big of a project this was. So I didn’t want to do user interviews.&lt;/p&gt;
&lt;p&gt;Instead, I relied on combing through community forums, blog posts,
existing documentation, and GitHub issues to trace the outline of the
problem space first. I actually got a lot of mileage from this exercise,
even without direct user input.&lt;/p&gt;
&lt;p&gt;Here were some of my primary research resources (GitHub issues I tracked
inline with my notes below):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Blog posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.jenniferbradham.org/post/reveal_js_markdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.jenniferbradham.org/post/reveal_js_markdown/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.caitlincasar.com/post/revealjs/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.caitlincasar.com/post/revealjs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://danmackinlay.name/notebook/presentation_tools.html#reveal.js&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://danmackinlay.name/notebook/presentation_tools.html#reveal.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://codingclubuc3m.rbind.io/post/2019-09-24/#reveal.js&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://codingclubuc3m.rbind.io/post/2019-09-24/#reveal.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Community thread:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://community.rstudio.com/t/r-presentations-for-beginners/1222&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://community.rstudio.com/t/r-presentations-for-beginners/1222&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pandoc docs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://pandoc.org/MANUAL.html#background-in-reveal.js-and-beamer&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pandoc.org/MANUAL.html#background-in-reveal.js-and-beamer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://pandoc.org/MANUAL.html#variables-for-html-slides&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pandoc.org/MANUAL.html#variables-for-html-slides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Our docs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/revealjs.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://bookdown.org/yihui/rmarkdown/revealjs.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://github.com/rstudio/revealjs#r-markdown-format-for-revealjs-presentations&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rstudio/revealjs#r-markdown-format-for-revealjs-presentations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This kind of research is sort of akin to bushwhacking. There is no clear trail, and you are traveling in sort of wild country. There may be lots of noise in all these channels that actually isn’t accurate, so you have to trust your own intuition some and do your own testing even more.&lt;/p&gt;
&lt;p&gt;I’ll note here that a red flag right off the bat for me is that we don’t even have revealjs tagged on 
&lt;a href=&#34;https://community.rstudio.com/search?q=revealjs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Community&lt;/a&gt;, so we aren’t exactly advertising usage. Nevertheless, there are questions about it on there, which seem to largely go unanswered. I also didn’t find a lot of blog posts or meetup presentations on the topic. If you know the #rstats community, you know that sharing knowledge is basically baked in, so this tells you &lt;em&gt;something&lt;/em&gt; is up (but it could be messaging - the tool may still be great!).&lt;/p&gt;




&lt;h2 id=&#34;what-works&#34;&gt;What works?
  &lt;a href=&#34;#what-works&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Before reading through many of the blog posts and community forum
threads, I also actually just used the tool.&lt;/p&gt;
&lt;p&gt;Here was my minimal demo deck:&lt;/p&gt;
&lt;iframe src=&#34;https://revealing-slides.netlify.app/#/title-slide&#34; width=&#34;672&#34; height=&#34;400px&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;I tried to follow the docs myself, and maintain a 
&lt;a href=&#34;https://www.trychameleon.com/blog/friction-logs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;friction log&lt;/a&gt; of what worked well and what didn’t. If I stumbled, I tried to make a mental note to actually figure out why at some point. It could be an actual bug, or it could be that my mental model is wrong, or it could be that I trusted a doc or a user’s guide and that led me astray. Whatever it is, it’s important that I track what went wrong. Here is my scratchpad of what I tried that &lt;strong&gt;did&lt;/strong&gt; work.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Multi-column layout (but, a bit clunky? Have to create container first. In xaringan, this is just &lt;code&gt;.pull-left[contents...]&lt;/code&gt; and &lt;code&gt;.pull-right[contents...]&lt;/code&gt;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::: {.columns} 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: {.column width=&amp;#34;40%&amp;#34;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;contents… 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: {.column width=&amp;#34;60%&amp;#34;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;contents… 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::::
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tile view: &lt;kbd&gt;escape&lt;/kbd&gt; kbd shortcut - very cool!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Although why does tile view show all top aligned slides instead
of centered?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Vertical slides: Aha you invoke vertical slides by using level 1
headers! (essentially, by adding sections). The “default” horizontal
slide layout depends on using &lt;code&gt;##&lt;/code&gt; for all slide headers - a bit of a
gotcha to folks so we’ll need to really document and teach this well&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pandoc’s docs on this:
&lt;strong&gt;Note: in reveal.js slide shows, if slide
level is 2, a two-dimensional layout will be produced, with
level-1 headings building horizontally and level-2 headings
building vertically. It is not recommended that you use deeper
nesting of section levels with reveal.js.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;The option for vertical is actually nice- several customers have
mentioned to me that they like it for making flexible
presentations (i.e., if you have 5 min, you do just the
horizontal, if you have 20 you know you can go down and use the
vertical)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Speaker notes + &lt;code&gt;s&lt;/code&gt; kbd shortcut for speaker view- nice, awesome&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;::: notes 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This is my note.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;   It can contain Markdown
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;   like this list 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hidden slides- nice, awesome&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## {visibility=&amp;#34;hidden&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cool layout options: 
&lt;a href=&#34;https://revealjs.com/layout/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/layout/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Backgrounds for individual slides- images, transitions, all per slide, all work great (but! see the &lt;code&gt;oof&lt;/code&gt; below regarding relative vs absolute image paths on GH pages)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## CSS color bg {background=#ff0000}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Full size image bg {background=&amp;#34;background.jpeg&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## Video bg {background-video=&amp;#34;background.mp4&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#aaa&#34;&gt;## A bg html page {background-iframe=&amp;#34;https://example.com&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;what-might-work-but-i-dont-know-for-sure&#34;&gt;What might work but I don’t know for sure?
  &lt;a href=&#34;#what-might-work-but-i-dont-know-for-sure&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;This syntax should work to change a slide background using the three dashes as the slide separator instead of the level 2 markdown header, but does not:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;--- {background-color=&amp;#34;#FBD989&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[TODO]: test with updated Pandoc, file bug if still doesn&#39;t work&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How do I change syntax highlighting themes using the built-in highlight.js? 
&lt;a href=&#34;https://revealjs.com/code/#theming&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/code/#theming&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;See: 
&lt;a href=&#34;http://arm.rbind.io/slides/xaringan.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://arm.rbind.io/slides/xaringan.html&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;NOTE: the R package we have has a YAML key for this&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;These are all very nice code chunk effects- how would I use with
knitr chunks? 
&lt;a href=&#34;https://revealjs.com/code/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/code/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Two column incremental?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[TODO:] test this&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Want to see slide numbers out of total, but this does not work: &lt;code&gt;slideNumber: &#39;c/t&#39;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;See: 
&lt;a href=&#34;https://revealjs.com/slide-numbers/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/slide-numbers/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;[TODO:] test with latest Pandoc and file issue there if can     confirm bug with reprex&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;what-needs-to-change&#34;&gt;What needs to change?
  &lt;a href=&#34;#what-needs-to-change&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Difficult to style out of the box (i.e., you are in CSS inspect
element world).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;“Creating themes seems to require you to fork reveal’s github
repo for full generality, which feels a bit weird…Either way,
in practice theming can be a rabbit hole of flex-box and
responsive media queries.” - blog post&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;“Note - if you are an artist (or very focused on small visual
details), then you might want to reconsider using reveal.js.” -
blog post&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build in SASS/SCSS support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I made my own:

&lt;a href=&#34;https://github.com/apreshill/revealing-slides/blob/main/assets/my-style.scss&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/apreshill/revealing-slides/blob/main/assets/my-style.scss&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then used the sass package to compile to css:

&lt;a href=&#34;https://github.com/apreshill/revealing-slides/blob/main/assets/compile-sass.R&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/apreshill/revealing-slides/blob/main/assets/compile-sass.R&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then used the css key in the YAML&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The visual editor view is disorienting (hard to see where slides start/end):&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;editor.png&#34; alt=&#34;visual editor mode with reveal.js slides&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Accessibility: slide tones on advance?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;See: 
&lt;a href=&#34;https://pkg.garrickadenbuie.com/xaringanExtra/#/slide-tone&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pkg.garrickadenbuie.com/xaringanExtra/#/slide-tone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://stackoverflow.com/questions/32956342/with-reveal-js-how-can-i-make-slides-change-upon-completion-of-embedded-media&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://stackoverflow.com/questions/32956342/with-reveal-js-how-can-i-make-slides-change-upon-completion-of-embedded-media&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[TODO:] test out this plugin: &amp;lt;https://github.com/rajgoel/reveal.js-plugins/tree/master/audio-slideshow&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Adding a logo is hard, needs to be easier. See also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://arm.rbind.io/slides/xaringan.html#121&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://arm.rbind.io/slides/xaringan.html#121&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://pkg.garrickadenbuie.com/xaringanExtra/#/logo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pkg.garrickadenbuie.com/xaringanExtra/#/logo&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Closed issue → solution is CSS: 
&lt;a href=&#34;https://github.com/hakimel/reveal.js/issues/1122&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/hakimel/reveal.js/issues/1122&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Changing the overall alignment is hard, needs to be easier (all centered by default):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/hakimel/reveal.js/issues/1897&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/hakimel/reveal.js/issues/1897&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://stackoverflow.com/questions/41024596/r-markdown-slides-with-reveal-js-how-to-left-align-list-items-bullets-and-numb/41047550#41047550&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://stackoverflow.com/questions/41024596/r-markdown-slides-with-reveal-js-how-to-left-align-list-items-bullets-and-numb/41047550#41047550&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can use &lt;code&gt;center: false&lt;/code&gt; in the YAML, but this is only for
vertical alignment&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The default transitions look a bit dated…changing all to
“none” looks more modern&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;[TODO:] change defaults?&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// Transition style 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transition: &amp;#39;slide&amp;#39; --&amp;gt; &amp;#39;none&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// none/fade/slide/convex/concave/zoom // 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// Transition style for full page slide backgrounds 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;backgroundTransition: &amp;#39;fade&amp;#39; --&amp;gt; &amp;#39;none&amp;#39;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;// none/fade/slide/convex/concave/zoom
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Good + modern built-in themes- I have zero love for any of the existing themes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A good start for a style template: 
&lt;a href=&#34;https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;[TODO:] Provide a set of built-in themes that data scientists would want to use&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Customizing title slide- looks like it is YAML only? It would be nice to be able to opt for using straight up HTML in the first slide as the title
slide. This is a Pandoc principle though across slide formats.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;See: 
&lt;a href=&#34;http://arm.rbind.io/slides/xaringan.html#117&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://arm.rbind.io/slides/xaringan.html#117&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://stackoverflow.com/questions/40345094/reveal-js-title-slide-override&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://stackoverflow.com/questions/40345094/reveal-js-title-slide-override&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Build in shortcode for panelsets? I’m totally sold on panelsets for
slide decks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://pkg.garrickadenbuie.com/xaringanExtra/#/panelset&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pkg.garrickadenbuie.com/xaringanExtra/#/panelset&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Easily use google fonts- maybe using YAML for fonts like bslib/sass package does (and does the dirty work for you to be able to work offline)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;See: 
&lt;a href=&#34;https://rstudio.github.io/sass/reference/font_face.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://rstudio.github.io/sass/reference/font_face.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[TODO:] get bslib support for SASS/SCSS files in R package&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can
we make PDF exporting easier, perhaps with pagedown?

&lt;a href=&#34;https://revealjs.com/pdf-export/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://revealjs.com/pdf-export/&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Can we have emoji support?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Official answer is no: 
&lt;a href=&#34;https://github.com/hakimel/reveal.js/issues/2517&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/hakimel/reveal.js/issues/2517&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A Pandoc bug? The &lt;code&gt;data-&lt;/code&gt; prefix is not required for other attributes,
but in the YAML for the title slide they are required:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title-slide-attributes&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;data-background-image&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;/img/pink-paint.jpg&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;data-background-size&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;cover&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;follow-up-in-the-future&#34;&gt;Follow-up in the future
  &lt;a href=&#34;#follow-up-in-the-future&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Live revealjs theme editor (v v v old):

&lt;a href=&#34;https://github.com/byteclubfr/uncloak&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/byteclubfr/uncloak&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The menu plugin looks
interesting: 
&lt;a href=&#34;https://stackoverflow.com/a/61075371/9437012&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://stackoverflow.com/a/61075371/9437012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;As does
the spotlight plugin:

&lt;a href=&#34;https://github.com/denniskniep/reveal.js-plugin-spotlight&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/denniskniep/reveal.js-plugin-spotlight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Oof it looks like publishing ghpages from the project root misses files in subdirectories, note that none of my background images show up!
&lt;ul&gt;
&lt;li&gt;Note to self: use relative urls to images rather than absolute (so don’t
start with a slash if in subdirectory as the Pandoc docs led you to believe- that will generate absolute urls
that GH Pages will trip on- Netlify did not)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;my-final-answer&#34;&gt;My final answer
  &lt;a href=&#34;#my-final-answer&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So the question I started with was:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Why aren’t people using reveal.js for slides with R
Markdown? What are the problems with reveal.js, and how can we fix
them?”&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My answer? I think there are a few factors working against reveal.js. The most obvious is that there is a noticeable lack of community engagement around the format - so there is an enthusiasm gap there between reveal.js and R packages like xaringan. The sheer number of options for HTML-based slide output formats leads folks toward using the one they see and hear about in the wild. That often starts with brave sharers on social media like Twitter, which then trickles down into user blog posts, folks who can answer questions on community, and ultimately contributors who improve the open-source software themselves. There have been amazing community contributions around the xaringan ecosystem. Have you heard of: 
&lt;a href=&#34;https://xaringan.club/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://xaringan.club/&lt;/a&gt; (brought to you by 
&lt;a href=&#34;https://www.garrickadenbuie.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Garrick&lt;/a&gt;)?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“The first rule of xaringan club is…we talk about xaringan.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Will there be a reveal.js club? I hope so! In my research, I found a lot of things to like working with reveal.js, and some things that I do think would serve R Markdown users and especially beginners well, perhaps even better than xaringan/remark.js. But, is there room for improvement? Always &amp;#x1f609;&lt;/p&gt;
&lt;p&gt;Honestly, with slide making tools, my own experience is that I’m less enthusiastic when I feel less empowered. I feel empowered as a user when a tool lets me customize the look and layout of my slides, with some guardrails to make sure I don’t enter the deep-dark CSS labyrinth. What I want is to fall into the “pit of beauty” more quickly, instead of the “pit of ugly” after hours of trying. See this interview with Hadley Wickham about the 
&lt;a href=&#34;https://www.auckland.ac.nz/en/news/2017/12/05/problem-solving-pits-of-success.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“pit of success”&lt;/a&gt; if you don’t get this reference! In my experience, this is what will drive some brave adopters to dip their toe into reveal.js, and ultimately what might help teams take the plunge together.&lt;/p&gt;
&lt;p&gt;So what happens next? This was just the beginning, but it is where I’m at after a few days of research and testing. I know I’ll be using it for my next slide deck so stay tuned!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>R Markdown</title>
      <link>https://www.apreshill.com/talk/2021-earthcube-panel/</link>
      <pubDate>Tue, 15 Jun 2021 12:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-earthcube-panel/</guid>
      <description>



&lt;h2 id=&#34;speakers&#34;&gt;Speakers
  &lt;a href=&#34;#speakers&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Kenton McHenry (University of Illinois) and Dan Katz (University of Illinois) will moderate a discussion with presenters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alison Hill (RStudio),&lt;/li&gt;
&lt;li&gt;Chris Holdgraf (2i2c - Jupyter),&lt;/li&gt;
&lt;li&gt;Chris Erdmann (American Geophysical Union), and&lt;/li&gt;
&lt;li&gt;Loren Shure (MathWorks - Matlab).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The talks will focus on the latest developments in each of the presenters&amp;rsquo; technologies, emphasizing elements that support the notions of ease of use, long-term executability, interoperability, and software publication. Lessons learned from building a geoscience-focused notebook directory,  notebook template, and long-term preservation in AGU’s ESSOaR will also be discussed - as well as how this all relates to international efforts to elevate notebooks and make them FAIR. This session has been designed for attendees that are already developing notebooks, those interested in doing so, and organizers who want to support these technologies in their events and proceedings.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduce yourself online with blogdown &amp; Hugo Apéro</title>
      <link>https://www.apreshill.com/talk/2021-iyo-tunis/</link>
      <pubDate>Wed, 26 May 2021 11:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-iyo-tunis/</guid>
      <description>&lt;p&gt;&amp;ldquo;You should have a website!&amp;rdquo; You may have heard this one before, or even said it yourself. In this workshop, you’ll learn how to build and customize a website from the comfort of the RStudio IDE with R Markdown. We&amp;rsquo;ll use the blogdown package and the Hugo Apéro theme to build and deploy a personal website. We’ll cover basic website care and feeding like using R Markdown to create content, how to use GitHub for version control and Netlify for publishing, and how to use the latest upgrades to the blogdown R package to keep your site up and running.&lt;/p&gt;
&lt;p&gt;The goal of this workshop is to equip participants with tools that amplify their own contributions, build a more visible presence in the R/data community, and share their knowledge and insights with others.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hugo Apéro</title>
      <link>https://www.apreshill.com/project/hugo-apero/</link>
      <pubDate>Sun, 23 May 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/hugo-apero/</guid>
      <description>&lt;p&gt;Apéro (a-pay-ROH) is a Hugo theme for personal websites. It is more than a blog, with flexible custom layouts that help you introduce yourself online.&lt;/p&gt;




&lt;h2 id=&#34;why-apéro&#34;&gt;Why apéro?
  &lt;a href=&#34;#why-ap%c3%a9ro&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Apéro is a unique kind of casual get-together in French culture, when you gather with friends and get to know each other better over some apéritifs, snacks, and anything in between. A good apéro is one where you&amp;rsquo;d happily spend a few hours just hanging out.&lt;/p&gt;
&lt;p&gt;I hope this theme helps you create your own virtual apéro. A place where you and your site&amp;rsquo;s visitors enjoy spending time, and one that helps folks get to know you better.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Free &amp; Open Source Software</title>
      <link>https://www.apreshill.com/talk/2021-foss-panel/</link>
      <pubDate>Tue, 18 May 2021 10:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-foss-panel/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Crafting Kind Tools</title>
      <link>https://www.apreshill.com/talk/2021-ares-kind-tools/</link>
      <pubDate>Mon, 12 Apr 2021 18:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-ares-kind-tools/</guid>
      <description>



&lt;h2 id=&#34;abstract&#34;&gt;Abstract:
  &lt;a href=&#34;#abstract&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;We are all tool-makers. If you are an educator, your lessons are tools. You make them to be used by students. Students use your lessons to build mental models piece-by-piece, and learn processes step-by-step. If you are a researcher, you design experiments as tools to be used by participants. As a scientist, your analyses are tools used by other researchers to replicate and extend what you did. And finally, if you use software for making any of these tools, you are also using a tool that was crafted by someone else. Is it kind? What makes a tool kind? In this talk, I’ll share ideas and insights I’ve gained while working to make tools for everyday data science communication kinder for users. I’ll discuss some case studies from my work on free and open-source software at RStudio over the past 2.5 years.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Making R Markdown work better for you</title>
      <link>https://www.apreshill.com/talk/2021-rmd-params/</link>
      <pubDate>Wed, 24 Mar 2021 18:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-rmd-params/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Take a Sad Plot &amp; Make It Better</title>
      <link>https://www.apreshill.com/talk/2021-rladies-jozi/</link>
      <pubDate>Thu, 25 Feb 2021 12:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-rladies-jozi/</guid>
      <description>&lt;p&gt;Alison Hill (I think her unofficial nickname is RMarkdown Whisperer) is going to talk to us on another of her strengths. Making things beautiful, and informative. She&amp;rsquo;s going to do her &amp;ldquo;Take a Sad Plot &amp;amp; Make it Better&amp;rdquo; talk, for us. In this talk, Alison will discuss one plot’s life cycle, from a sad Powerpoint slide to the finished product made with the ggplot2 package in R, and what she learnt from it.&lt;/p&gt;
&lt;p&gt;Alison doesn&amp;rsquo;t need much introduction, she&amp;rsquo;ll be the main search result if you&amp;rsquo;re looking for RMarkdown info, xaringan inspiration, blogging and teaching online using R, among many other topics! Read about her here: 
&lt;a href=&#34;https://alison.rbind.io/about/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://alison.rbind.io/about/&lt;/a&gt;. If you&amp;rsquo;re on Twitter, you&amp;rsquo;d learn a lot by following 
&lt;a href=&#34;https://twitter.com/apreshill&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://twitter.com/apreshill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aside: Also have a look at Hugo Apéro, for some inspiration on building a presence online (
&lt;a href=&#34;https://hugo-apero.netlify.app/%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://hugo-apero.netlify.app/)&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduce yourself online</title>
      <link>https://www.apreshill.com/talk/2021-rstudio-global/</link>
      <pubDate>Mon, 25 Jan 2021 13:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2021-rstudio-global/</guid>
      <description>&lt;p&gt;“You should have a website!” You may have heard this one before, or even said it yourself. In this workshop, you’ll learn how to build and customize a website from the comfort of the RStudio IDE using the blogdown package. We’ll also cover basic website care and feeding like using R Markdown to create content, and how to use GitHub and Netlify to improve your workflow. Pre-work will be shared with participants ahead of time, but to get the most out of this workshop, you’ll want to have a GitHub account and be able to push and pull files from a GitHub repository using your local RStudio IDE.&lt;/p&gt;
&lt;p&gt;The goal of this workshop is to equip participants with tools that amplify their own contributions, build a more visible presence in the R/data community, and share their knowledge and insights with others.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Up &amp; running with blogdown in 2021</title>
      <link>https://www.apreshill.com/blog/2020-12-new-year-new-blogdown/</link>
      <pubDate>Thu, 31 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-12-new-year-new-blogdown/</guid>
      <description>



&lt;h2 id=&#34;welcome&#34;&gt;Welcome
  &lt;a href=&#34;#welcome&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Hi! Hello! Welcome. Bienvenidos.&lt;/p&gt;
&lt;p&gt;About 3.5 years ago, I wrote my 
&lt;a href=&#34;https://www.apreshill.com/post/2017-06-12-up-and-running-with-blogdown/&#34;&gt;first blog post&lt;/a&gt; and published it on my first website. Since then, that single post has been viewed over 27,557 times. That may not seem like a lot to some folks, but it is to me! Even more meaningful to me, though, has been watching the launches of so many people&amp;rsquo;s personal websites.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/BU5j1oVls8rXG/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;However, the process of creating and maintaining a Hugo website using blogdown was not always pain-free. Sometimes we have Hugo &amp;ldquo;improvements&amp;rdquo; to thank, other times your Hugo theme is at fault, and sometimes we could blame blogdown. Regardless of where the pain came from, there was definitely room for improvement.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/KTyJ3VPxkbDKU/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here are some great blog posts that document pretty common user experiences and frustrations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://masalmon.eu/2020/02/29/hugo-maintenance/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Maëlle Salmon&amp;rsquo;s post: &lt;em&gt;What to know before you adopt Hugo/blogdown&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://drmowinckels.io/blog/2020-05-25-changing-you-blogdown-workflow/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Athanasia Mowinckel&amp;rsquo;s post: &lt;em&gt;Changing your blogdown workflow&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://clauswilke.com/blog/2020/09/08/a-blogdown-post-for-the-ages/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Claus Wilke&amp;rsquo;s post: &lt;em&gt;Writing a blogdown post for the ages&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of this, combined with my own experiences teaching and using blogdown for over 3.5 years led me to&amp;hellip;my giant blogdown wishlist. I had a lot of ideas to help beginners get started, but just as important, to improve the quality of life for existing users. You can see my mega-wishlist that Yihui Xie (the blogdown conceptor and author) asked me to share with him: 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/476&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rstudio/blogdown/issues/476&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m very happy to report that our team has been working very hard to address these issues, and many others raised by users, to make blogdown easier to learn and use. Just in time for the new year, we have a new and improved release of the blogdown package for you to test. I know a lot of folks are itching to introduce themselves into online communities and conversations, so I thought it would be fun to take my original blogdown post, and trace the same process of building a Hugo website with the same theme (now named 
&lt;a href=&#34;https://wowchemy.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Wowchemy&amp;rdquo;&lt;/a&gt; instead of Hugo Academic- don&amp;rsquo;t get me started).&lt;/p&gt;
&lt;p&gt;So if you are feeling fearless and want to live on the bleeding edge, read on to give the development version of blogdown a spin along with me.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/42zi6wvKUbXHbzwBbD/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;tldr&#34;&gt;tl;dr
  &lt;a href=&#34;#tldr&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you already know what you are doing, this entire post can be condensed into just a few lines of code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remotes&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rstudio/blogdown&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_project&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_site&lt;/span&gt;(theme &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;wowchemy/starter-academic&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;serve_site&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_post&lt;/span&gt;(title &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Hi Hugo&amp;#34;&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     ext &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;.Rmarkdown&amp;#39;&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                     subdir &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;post&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;use_git&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;use_github&lt;/span&gt;() &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# requires a GitHub PAT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The above sequence is a slightly more advanced workflow than the steps I follow below, but is fairly magical- attempt at your own risk! For everyone else, read on&amp;hellip;&lt;/p&gt;




&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites
  &lt;a href=&#34;#pre-requisites&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Getting any website up and running with all the moving parts (RStudio, GitHub, Hugo, Netlify) can take a few tries. In this post, I&amp;rsquo;m passing along what works for me, and the workflow that I use when I teach Hugo website development. Everyone&amp;rsquo;s mileage may vary, though, depending on your operating system and your approach.&lt;/p&gt;
&lt;p&gt;For this blog post, I&amp;rsquo;m assuming you have basic familiarity with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R,&lt;/li&gt;
&lt;li&gt;the RStudio IDE, and&lt;/li&gt;
&lt;li&gt;GitHub.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If that is not you, you will need to work through 
&lt;a href=&#34;http://happygitwithr.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Happy Git with R&lt;/a&gt; by Jenny Bryan et al. first, then come back here when you are ready.&lt;/p&gt;
&lt;p&gt;Since the development version of blogdown is currently only available on GitHub, you may need to setup a 
&lt;a href=&#34;https://happygitwithr.com/github-pat.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub Personal Access Token&lt;/a&gt; to install it.&lt;/p&gt;
&lt;p&gt;In my original 2017 post, I mentioned that at that time, I was a new mom, and just in the process of writing all that up, I filled up my tea mug twice with ice cold water, and filled my water bottle with scalding hot water. This time around isn&amp;rsquo;t too different! Fast forward to 2020: there is a global pandemic, I&amp;rsquo;ve been under stay-at-home orders with a child under 5 years of age at home for months. So buckle up :cowboy:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/Q9vJgdNPoyKSA6APDo/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    I&amp;rsquo;ve included code chunks below using the 
&lt;a href=&#34;https://rstudio.github.io/rstudioapi/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rstudioapi&lt;/a&gt; package to help you navigate to the right file at the right time. Hugo sites have a dizzying and heavily nested directory structure! You&amp;rsquo;ll need to run &lt;code&gt;install.packages(&amp;quot;rstudioapi&amp;quot;)&lt;/code&gt; to use those code chunks, but you can also navigate on your own to the file you need too.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;step-0-set-your-intentions&#34;&gt;Step 0: Set your intentions
  &lt;a href=&#34;#step-0-set-your-intentions&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;00-blogdown-2021.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;During workshops, I try to set aside some time at the start for folks to set their website intentions. This might feel a bit like navel-gazing, but trust me here. I know you just want to jump in and get started!&lt;/p&gt;
&lt;p&gt;Hear me out though, and don&amp;rsquo;t skim or skip this step. The process of actually building and deploying a personal site can be complicated, and it is easy to get lost in the weeds.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/l3vRbcJ60KOxd9bVu/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;It is very easy to run out of steam when it is time to do the most fun and important piece: dreaming about the kind of site you want to make!&lt;/p&gt;
&lt;div class=&#34;alert alert-todo&#34;&gt;
  &lt;div&gt;
    Do this right now! Take 10 minutes to set your website intentions&amp;mdash;grab a pen and notepad and a cup of 🍵 and read on&amp;hellip;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3 id=&#34;todo-content&#34;&gt;1. Content
  &lt;a href=&#34;#todo-content&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Hugo is made for blogs. But, in addition to a blog, the starter-academic theme provides a unique system of widgets. You can have one or many widgets on pages in your site. I like to think of widgets like 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Mr._Potato_Head&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mr. Potato Head&lt;/a&gt; where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each page is a potato head, and&lt;/li&gt;
&lt;li&gt;Each widget is a piece you could place on the potato head.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/tjGVkrPMjngt2/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Take the homepage for example, seen on the 
&lt;a href=&#34;https://academic-demo.netlify.app/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Academic demo site&lt;/a&gt;. Each band or section you see is a widget. Widgets can be stand-alone pages, or can be combined on a single page.&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multiple widget page: my 
&lt;a href=&#34;https://www.apreshill.com/resume/&#34;&gt;resume&lt;/a&gt; and 
&lt;a href=&#34;https://www.apreshill.com/about/&#34;&gt;about&lt;/a&gt; pages&lt;/li&gt;
&lt;li&gt;Single widget page: my 
&lt;a href=&#34;https://www.apreshill.com/projects/&#34;&gt;projects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;alert alert-todo&#34;&gt;
  &lt;div&gt;
    Look at the 
&lt;a href=&#34;https://academic-demo.netlify.app/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Academic demo site&lt;/a&gt; and write down some widgets you see that you like, and the ones you definitely don&amp;rsquo;t.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3 id=&#34;todo-menu&#34;&gt;2. Menu
  &lt;a href=&#34;#todo-menu&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Now that you have a sense of the content you want, how do you want a visitor to be able to explore your content? I typically recommend limiting the top navbar to 5 links max (excluding the search icon).&lt;/p&gt;
&lt;p&gt;Use some of my favorite personal sites (that do not use our theme) as inspiration too:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.jason.af/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.jason.af/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.nistara.net&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.nistara.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://third-bit.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://third-bit.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://maggieappleton.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://maggieappleton.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.drcathicks.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.drcathicks.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://amber.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://amber.rbind.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://dscott.netlify.app/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://dscott.netlify.app/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://drmowinckels.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://drmowinckels.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Think about how the menu &amp;ldquo;prewires&amp;rdquo; you to know what to expect as you dig deeper into their site. How do you want people to get to know you online?&lt;/p&gt;
&lt;div class=&#34;alert alert-todo&#34;&gt;
  &lt;div&gt;
    Write down up to 5 items to appear in your upper navbar.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3 id=&#34;todo-home&#34;&gt;3. Homepage
  &lt;a href=&#34;#todo-home&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This is the first page a visitor lands on when they find your site. Think of it like a welcome mat. Do you like a single page site where you scroll and see everything on one page? Or do you prefer a short and sweet homepage? Do you want a photo and a bio to be the first thing visitors see? What else?&lt;/p&gt;
&lt;p&gt;Here are some examples of personal websites built with the Hugo Academic theme to inspire you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://malco.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://malco.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://isabella-b.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://isabella-b.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.connorrothschild.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.connorrothschild.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://silvia.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://silvia.rbind.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://maya.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://maya.rbind.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.allisonhorst.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.allisonhorst.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://juliasilge.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://juliasilge.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://desiree.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://desiree.rbind.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;alert alert-todo&#34;&gt;
  &lt;div&gt;
    Write down the widgets you want to see on your homepage. It can be one, or many.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;OK, keep these notes handy! We are ready to &lt;em&gt;make something.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/mXqtfNsJlKtAoyLHd4/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;step-1-create-repo&#34;&gt;Step 1: Create repo
  &lt;a href=&#34;#step-1-create-repo&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;01-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go online to your 
&lt;a href=&#34;https://github.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt; account, and create a new repository (check to initialize with a &lt;code&gt;README&lt;/code&gt; but don&amp;rsquo;t add &lt;code&gt;.gitignore&lt;/code&gt;- this will be taken care of later). For naming your repo, consider your future deployment plan:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;github-new-repo.png&#34; alt=&#34;Screenshot above: Creating a new repository in GitHub&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.netlify.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;Netlify&lt;/strong&gt;&lt;/a&gt;. I recommend using Netlify to &lt;em&gt;both&lt;/em&gt; build and host your site. In this case, you can name the repository anything you want!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://pages.github.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;GitHub Pages&lt;/strong&gt;&lt;/a&gt;. I recommend Netlify over GitHub Pages for blogdown/Hugo sites. But, if you want to host your site with GitHub Pages, you should name your repository &lt;code&gt;yourgithubusername.github.io&lt;/code&gt; (so mine would have been &lt;code&gt;apreshill.github.io&lt;/code&gt;). This post won&amp;rsquo;t be able to help you with publishing.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can see some of the repo names used by members of the &lt;code&gt;rbind&lt;/code&gt; organization 
&lt;a href=&#34;https://github.com/rbind/repositories&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;Go to the main page of your new repository, and under the repository name, click the green &lt;strong&gt;Clone or download&lt;/strong&gt; button.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose either SSH or HTTPS (if you don&amp;rsquo;t know which, choose HTTPS). Choose by clicking on the clipboard icon to copy the remote URL for your new repository. You&amp;rsquo;ll paste this text into RStudio in the next section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;step-2-create-project&#34;&gt;Step 2: Create project
  &lt;a href=&#34;#step-2-create-project&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;02-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;We just created the remote repository on GitHub. To make a local copy on our computer that we can actually work in, we&amp;rsquo;ll clone that repository into a new RStudio project. This will allow us to sync between the two locations: your remote (the one you see on github.com) and your local desktop.&lt;/p&gt;
&lt;p&gt;Open up RStudio to create a new project where your website&amp;rsquo;s files will live.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;code&gt;File &amp;gt; New Project &amp;gt; Version Control &amp;gt; Git&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Paste the copied URL from the previous step.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Be intentional about where you tell RStudio to create this new Project on your workstation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Create Project&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;step-3-create-site&#34;&gt;Step 3: Create site
  &lt;a href=&#34;#step-3-create-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;03-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The latest version of blogdown will not be available on CRAN until January 2021, but you can install the development version from GitHub with:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; if (!requireNamespace(&amp;#34;remotes&amp;#34;)) install.packages(&amp;#34;remotes&amp;#34;)
&amp;gt; remotes::install_github(&amp;#34;rstudio/blogdown&amp;#34;)
Using github PAT from envvar GITHUB_PAT
Downloading GitHub repo rstudio/blogdown@master
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Let&amp;rsquo;s use our first blogdown function to create a website with the Hugo Wowchemy &amp;ldquo;starter-academic&amp;rdquo; project:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; library(blogdown)
&amp;gt; new_site(theme = &amp;#34;wowchemy/starter-academic&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You should now see something like this. Take a moment to read through these messages - importantly, it tells you how to start and stop the server so you can preview your site. Importantly, when you come back to your project, note that you can use &lt;code&gt;blogdown::serve_site()&lt;/code&gt; or the &amp;ldquo;Serve Site&amp;rdquo; addin to preview it locally.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;new_hugo_start.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s select &lt;code&gt;y&lt;/code&gt; to let blogdown start a server for us.&lt;/p&gt;
&lt;p&gt;Exciting, isn&amp;rsquo;t it? Now, don&amp;rsquo;t trap your site in the RStudio Viewer pane. Let it out! Click to &amp;ldquo;Show in new window&amp;rdquo; (to the right of the &amp;#x1f9f9; icon) to preview it in a normal browser window. When you do that, you&amp;rsquo;ll be re-directed to the site&amp;rsquo;s main homepage. Let&amp;rsquo;s find our way back to the R Markdown post. Click on &lt;code&gt;Posts &amp;gt; Hello R Markdown&lt;/code&gt; to read it:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;sample_post.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is what blogdown gives you- everything else in the site is given to you by Hugo and your Wowchemy Hugo theme. But this post, and your ability to see output and plots rendered with &lt;i class=&#34;fab fa-r-project&#34;&gt;&lt;/i&gt; is what blogdown adds!&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;step-4-create-content&#34;&gt;Step 4: Create content
  &lt;a href=&#34;#step-4-create-content&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;04-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s use more R Markdown &amp;#x1f389;&lt;/p&gt;
&lt;p&gt;Blogdown allows you to create new two kinds of R Markdown posts that are knittable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;.Rmd&lt;/code&gt; 🧶 to &lt;code&gt;.html&lt;/code&gt; or&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;.Rmarkdown&lt;/code&gt; 🧶 to &lt;code&gt;.markdown&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once knitted, both are then previewable in your Hugo site.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    I used to agonize over which file extension to use. But now I am squarely in &lt;code&gt;.Rmarkdown&lt;/code&gt; camp with 
&lt;a href=&#34;https://masalmon.eu/2020/02/29/hugo-maintenance/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Maëlle&lt;/a&gt;- I like knitting to &lt;code&gt;.markdown&lt;/code&gt; and wish this was easier in blogdown; see: 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/530&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rstudio/blogdown/issues/530&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Use the console to author a new &lt;code&gt;.Rmarkdown&lt;/code&gt; post; I&amp;rsquo;ll name my post &amp;ldquo;Hi Hugo&amp;rdquo;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; blogdown::new_post(title = &amp;#34;Hi Hugo&amp;#34;, 
                     ext = &amp;#39;.Rmarkdown&amp;#39;, 
                     subdir = &amp;#34;post&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This takes the path to where you want your post to live, relative to the &lt;code&gt;content/&lt;/code&gt; folder (so that piece of the path is assumed, rightly so!). In the Academic theme, the example site organizes blog posts into the &lt;code&gt;content/post/&lt;/code&gt; folder, but the name of this folder varies across Hugo themes.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    A rule that is true 90% of the time: folders in &lt;code&gt;content/&lt;/code&gt; are singular, not plural&amp;mdash; &amp;#x2714;&amp;#xfe0f; &lt;code&gt;post&lt;/code&gt;; &amp;#x274c; &lt;code&gt;posts&lt;/code&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can add an option to your &lt;code&gt;.Rprofile&lt;/code&gt; to save these settings so you don&amp;rsquo;t have to remember them:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if exists, opens; if not, creates new&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;config_Rprofile&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then add the blogdown options to that file, save, and &lt;strong&gt;RESTART YOUR R SESSION&lt;/strong&gt; for changes to take effect:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;options(
  # to automatically serve the site on RStudio startup, set this option to TRUE
  blogdown.serve_site.startup = FALSE,
  # to disable knitting Rmd files on save, set this option to FALSE
  blogdown.knit.on_save = FALSE     &amp;lt;- change
  blogdown.author = &amp;#34;Alison Hill&amp;#34;,  &amp;lt;- add
  blogdown.ext = &amp;#34;.Rmarkdown&amp;#34;,      &amp;lt;- add
  blogdown.subdir = &amp;#34;post&amp;#34;          &amp;lt;- add
)
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;alert alert-warning&#34;&gt;
  &lt;div&gt;
    Always restart your R session after editing your &lt;code&gt;.Rprofile&lt;/code&gt; for changes to take effect. Don&amp;rsquo;t forget to run &lt;code&gt;serve_site()&lt;/code&gt; after a restart.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you look in your &lt;strong&gt;Files&lt;/strong&gt; pane, you can see that this creates a folder with the date and the 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Clean_URL#Slug&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;slug&amp;rdquo;&lt;/a&gt; name of my post (&lt;code&gt;&amp;quot;hi-hugo&amp;quot;&lt;/code&gt;). The actual R Markdown file is named &lt;code&gt;index.Rmarkdown&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;new_post.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is a Hugo 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-21-hugo-page-bundles/&#34;&gt;page bundle&lt;/a&gt;. Each post gets its own bundle, or folder. Inside the post bundle is where all your static images, static data files like &lt;code&gt;.csv&lt;/code&gt; files should go.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;content/
├── posts
│   ├── 2021-01-01-hi-hugo
│   │   ├── bakers.csv
│   │   ├── image1.jpg
│   │   ├── image2.png
│   │   └── index.Rmarkdown
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the post itself, use the relative file path like:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;![my-first-image](image1.jpg)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Let&amp;rsquo;s look at the &lt;code&gt;index.Rmarkdown&lt;/code&gt;. We&amp;rsquo;ll knit this &lt;code&gt;.Rmarkdown&lt;/code&gt; to a &lt;code&gt;.markdown&lt;/code&gt; file. You may 🧶 knit 🧶 freely now in blogdown!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/iBjylURwS9N9FCl8Dl/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;To knit an &lt;code&gt;.Rmarkdown&lt;/code&gt; post, you can either:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use the Knit button to knit to the correct output format, or&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the keyboard shortcut &lt;code&gt;Cmd+Shift+K&lt;/code&gt; (Mac) or &lt;code&gt;Ctrl+Shift+K&lt;/code&gt; (Windows/Linux).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After knitting, you should now see:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;content/
├── posts
│   ├── hi-hugo
│   │   ├── bakers.csv
│   │   ├── image1.jpg
│   │   ├── image2.png
│   │   ├── index.Rmarkdown
│   │   └── index.markdown   &amp;lt;- 🆕
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Go ahead and add an R code chunk like:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;```{r}
summary(Orange)
```
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After you edit your &lt;code&gt;.Rmarkdown&lt;/code&gt; post, knit. Note that knitting automatically saves the file for you. You also can just save the file without knitting- this is good for when your code still needs work and won&amp;rsquo;t run as is.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    The most important thing here is to realize that the act of knitting creates an &lt;code&gt;index.markdown&lt;/code&gt; file in the same post bundle as &lt;code&gt;index.Rmarkdown&lt;/code&gt;. Because Hugo doesn&amp;rsquo;t know R or R Markdown, The &lt;code&gt;index.markdown&lt;/code&gt; version is what then feeds into the Hugo static site generator.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Try it again! Add another R code chunk like:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;```{r echo=FALSE}
library(ggplot2)
oplot &amp;lt;- ggplot(Orange, aes(x = age, 
                   y = circumference, 
                   colour = Tree)) +
  geom_point() +
  geom_line() +
  guides(colour = FALSE) +
  theme_bw()
oplot
```
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Knit, and you should see something like:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;post-plot.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;div class=&#34;alert alert-warning&#34;&gt;
  &lt;div&gt;
    Many R Markdown output options for HTML documents are not going to be possible here, like tabbed sections, floating table of contents, the &lt;code&gt;code_download&lt;/code&gt; button, etc. Also, HTML widgets are a little dicey currently.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This is a single page. It is made with R Markdown, and happens to be a blog post, although you can use R Markdown to create content for any other content section too.&lt;/p&gt;
&lt;p&gt;If you want a featured image to accompany your post and show up on your listing page (the clickable list of all your posts), you&amp;rsquo;ll want to add an image with the word &lt;code&gt;featured&lt;/code&gt; in the filename:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;content/
├── posts
│   ├── hi-hugo
│   │   ├── bakers.csv
│   │   ├── image1.jpg
│   │   ├── image2.png
│   │   ├── index.Rmarkdown
│   │   ├── index.markdown   
│   │   └── featured-bakers.jpg   &amp;lt;- ➕
&lt;/code&gt;&lt;/pre&gt;



&lt;h3 id=&#34;workflow&#34;&gt;Workflow
  &lt;a href=&#34;#workflow&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;My workflow in RStudio at this point (again, just viewing locally because we haven&amp;rsquo;t deployed yet) works best like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the RStudio project for the site.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start the Hugo server using &lt;code&gt;blogdown::serve_site()&lt;/code&gt; (only once due to the magic of &lt;em&gt;LiveReload&lt;/em&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View site in the RStudio viewer pane, and open in a new browser window while I work.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select existing files to edit using the file pane in RStudio.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After making changes, save if a plain &lt;code&gt;.md&lt;/code&gt; file, or if working with an &lt;code&gt;.Rmd&lt;/code&gt; or an &lt;code&gt;.Rmarkdown&lt;/code&gt; document, &lt;code&gt;knit&lt;/code&gt; to preview! You can now use the Knit button to knit to the correct output format. You can also use the keyboard shortcut &lt;code&gt;Cmd+Shift+K&lt;/code&gt; (Mac) or &lt;code&gt;Ctrl+Shift+K&lt;/code&gt; (Windows/Linux).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The console will detect the change (it will print &lt;code&gt;Change detected, rebuilding site.&lt;/code&gt;), the viewer pane will update, and (in a few seconds) your local view in your browser will also refresh. Try to avoid hitting the refresh button in your browser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When happy with changes, add/commit/push changes to GitHub.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Having &lt;code&gt;blogdown::serve_site&lt;/code&gt; running locally with &lt;em&gt;LiveReload&lt;/em&gt; is especially useful as you can immediately see if you have totally screwed up. For example, in editing my &lt;code&gt;about.md&lt;/code&gt; file, this error popped up in my console after making a change and I was able to fix the error right away:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Started building sites ...
ERROR 2017/06/08 16:22:34 failed to parse page metadata for home/about.md: (18, 6): missing comma
Error: Error building site: Errors reading pages: Error: failed to parse page metadata for home/about.md: (18, 6): missing comma for about.md
&lt;/code&gt;&lt;/pre&gt;



&lt;h3 id=&#34;using-github&#34;&gt;Using GitHub
  &lt;a href=&#34;#using-github&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s go ahead and push our changes to GitHub. First, let&amp;rsquo;s make a &lt;code&gt;.gitignore&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;file.edit&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;.gitignore&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add this content:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;.Rproj.user
.Rhistory
.RData
.Ruserdata
.DS_Store
Thumbs.db
&lt;/code&gt;&lt;/pre&gt;



&lt;h3 id=&#34;check-yourself-before-you-wreck-yourself&#34;&gt;Check yourself before you wreck yourself
  &lt;a href=&#34;#check-yourself-before-you-wreck-yourself&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s use blogdown to check this file before we do our first commit:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_gitignore&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see something like:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; check_gitignore()
― Checking .gitignore
| Checking for items to remove...
○ Nothing to see here - found no items to remove.
| Checking for items you can safely ignore...
○ Found! You have safely ignored: .DS_Store, Thumbs.db
| Checking for items to ignore if you build the site on Netlify...
● [TODO] When Netlify builds your site, you can safely add to .gitignore: public, resources
― Check complete: .gitignore
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You have a &lt;code&gt;[TODO]&lt;/code&gt; item- go ahead and add &lt;code&gt;public&lt;/code&gt; and &lt;code&gt;resources&lt;/code&gt; on their own lines in your &lt;code&gt;.gitignore&lt;/code&gt; file. We&amp;rsquo;ll be configuring Netlify to build our site shortly, so go right ahead while the file is open.&lt;/p&gt;
&lt;p&gt;While we are at it, let&amp;rsquo;s check out our content too:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_content&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You may notice a few pieces of content are flagged as &lt;code&gt;draft&lt;/code&gt;. This is good to know! Read up on drafts in Hugo 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/content.html#yaml-metadata&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Our checks are pretty clean, so you can freely add/commit your project files to GitHub. You now should have the basic mechanics of your site working.&lt;/p&gt;




&lt;h2 id=&#34;step-5-publish-site&#34;&gt;Step 5: Publish site
  &lt;a href=&#34;#step-5-publish-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;05-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Thus far, we&amp;rsquo;ve only been previewing our site locally, then pushing the source files (but not the built site) to GitHub. This workflow works, but I assume you want to ride this bike. Let&amp;rsquo;s skip the training wheels — we are going one step more advanced by using GitHub with Netlify now.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Note that you could use &lt;code&gt;blogdown::build_site()&lt;/code&gt;, then publish the &lt;code&gt;public/&lt;/code&gt; folder using Netlify 
&lt;a href=&#34;https://app.netlify.com/drop&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;drag &amp;amp; drop&lt;/a&gt;. Watch this 
&lt;a href=&#34;../talk/2020-sharing-short-notice/&#34;&gt;webinar&lt;/a&gt; called &amp;ldquo;Sharing on Short Notice&amp;rdquo; to learn more - but this is a less advanced workflow.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To get started using Netlify for real (which has a free plan that should largely cover recreational blogging use!):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go online to 
&lt;a href=&#34;https://www.netlify.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on the &lt;strong&gt;Sign Up&lt;/strong&gt; button and sign up using your existing GitHub account (no need to create another account).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Log in, and select: &lt;code&gt;New site from Git &amp;gt; Continuous Deployment: GitHub&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From there, Netlify will allow you to select from your existing GitHub repositories. You&amp;rsquo;ll pick the repo you&amp;rsquo;ve been working from with &lt;code&gt;blogdown&lt;/code&gt;. Leave all settings as they are and select &lt;strong&gt;Deploy Site&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You should see something like this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;new_netlify.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;When it is done, you can click on the link to your new site! And the most magical thing of all, every time you push any changes to your site to GitHub, Netlify will detect the push, re-build, then update your published site. It&amp;rsquo;s a good thing. It&amp;rsquo;s called continuous deployment, and it is the main reason to use Netlify for a blogdown site.&lt;/p&gt;
&lt;p&gt;With a new site, Netlify will deploy your site and assign you a random subdomain name of the form &lt;code&gt;random-word-12345.netlify.app&lt;/code&gt;. Mine was particularly unfortunate, with the random word &lt;code&gt;garbage-collector-janice&lt;/code&gt;. You should know that you can change this; I changed mine to &lt;code&gt;apreshill.netlify.app&lt;/code&gt;. Do this by navigating to your site on Netlify, then click on &lt;strong&gt;Settings&lt;/strong&gt;. Under &lt;strong&gt;Site information&lt;/strong&gt;, click on the &lt;em&gt;Change site name&lt;/em&gt; button.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;netlify-site-name.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Whether you change your Netlify site name or use the random one, go back to your configuration file and cchange the baseurl there to match where Netlify is publishing your site:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;config.yaml&amp;#34;&lt;/span&gt;, line &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;3&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You actually have most of the necessary wiring laid out for you already in your repo, which is why this worked. Our site has a &lt;code&gt;netlify.toml&lt;/code&gt; file, which sets us the necessary settings for letting Netlify build our site for us and then publish it. You can read more about this file 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;here&lt;/a&gt;, and check it out using:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if exists, opens; if not, creates new&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;config_netlify&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, back in your local blogdown project, let&amp;rsquo;s check this file with blogdown:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; blogdown::check_netlify()
― Checking netlify.toml...
○ Found HUGO_VERSION = 0.79.1 in [build] context of netlify.toml.
| Checking that Netlify &amp;amp; local Hugo versions match...
| Mismatch found:
  blogdown is using Hugo version (0.79.0) to build site locally.
  Netlify is using Hugo version (0.79.1) to build site.
● [TODO] Option 1: Change HUGO_VERSION = &amp;#34;0.79.0&amp;#34; in netlify.toml to match local version.
● [TODO] Option 2: Use blogdown::install_hugo(&amp;#34;0.79.1&amp;#34;) to match Netlify version, and set options(blogdown.hugo.version = &amp;#34;0.79.1&amp;#34;) in .Rprofile to pin this Hugo version.
| Checking that Netlify &amp;amp; local Hugo publish directories match...
○ Good to go - blogdown and Netlify are using the same publish directory: public
― Check complete: netlify.toml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I recommend going with &lt;code&gt;Option 1&lt;/code&gt; here, so follow that &lt;code&gt;[TODO]&lt;/code&gt; and then run the function again to get a clean check.&lt;/p&gt;
&lt;p&gt;When you are ready to deploy, commit your changes and push to GitHub! Watch as your site rebuilds &amp;#x1f389;&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    &lt;p&gt;To get an &lt;code&gt;*.rbind.io&lt;/code&gt; URL, follow 
&lt;a href=&#34;https://www.apreshill.com/post/2017-06-12-up-and-running-with-blogdown/#rbindio-domain-names&#34;&gt;these instructions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anytime you change your subdomain name, you need to update the &lt;code&gt;baseurl&lt;/code&gt; in your &lt;code&gt;config.toml&lt;/code&gt; file (so I changed mine to baseurl = &amp;ldquo;
&lt;a href=&#34;https://apreshill.netlify.com/%22%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://apreshill.netlify.com/&#34;)&lt;/a&gt;.&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;step-6-sculpt-site&#34;&gt;Step 6: Sculpt site
  &lt;a href=&#34;#step-6-sculpt-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;06-blogdown-2021.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Now, we&amp;rsquo;ll leave blogdown and R Markdown behind. We&amp;rsquo;ll just be using Hugo and Wowchemy (I think it is said like alchemy? Why??) to build your personal website.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start by running another blogdown check to &lt;code&gt;check_hugo()&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; blogdown::check_hugo()
― Checking Hugo
| Checking Hugo version...
○ Found 4 versions of Hugo. You are using Hugo 0.79.0.
| Checking .Rprofile for Hugo version used by blogdown...
○ blogdown is using Hugo 0.79.0 to build site locally.
● [TODO] Also run blogdown::check_netlify() to check for possible problems with Hugo and Netlify.
― Check complete: Hugo
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;All set! We&amp;rsquo;ve already checked out our Netlify set-up &amp;#x2714;&amp;#xfe0f; If you wish to clean up your local Hugo installations, check out:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;remove_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;configure-your-site&#34;&gt;Configure your site
  &lt;a href=&#34;#configure-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s start with the last thing you typically do to your home- decorate.&lt;/p&gt;
&lt;p&gt;Open up the file &lt;code&gt;config/_default/params.toml&lt;/code&gt;. Play with any of these configurations, but especially fonts/themes.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;config/_default/params.toml&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    If you want deeper customization of the styling, you can create a new CSS file &lt;code&gt;assets/scss/custom.scss&lt;/code&gt; and use it to override any existing styles. You can see mine 
&lt;a href=&#34;https://github.com/rbind/apreshill/blob/master/assets/scss/custom.scss&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;; heavily borrowing from my former intern 
&lt;a href=&#34;https://desiree.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Desirée De Leon&lt;/a&gt;!
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;While you are at it, edit the other configuration files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can also view 
&lt;a href=&#34;https://github.com/rbind/apreshill/blob/master/config.toml&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my &lt;code&gt;config.toml&lt;/code&gt; file&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Remember our 
&lt;a href=&#34;#todo-menu&#34;&gt;menu intentions&lt;/a&gt;? Go ahead and edit those too:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;config/_default/menus.toml&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Let&amp;rsquo;s run a blogdown check on the configuration file before we leave:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; blogdown::check_config()
― Checking config.yaml
| Checking &amp;#34;baseURL&amp;#34; setting for Hugo...
○ Found baseURL = &amp;#34;https://silly-dubinsky-de5482.netlify.app&amp;#34;; nothing to do here!
| Checking &amp;#34;ignoreFiles&amp;#34; setting for Hugo...
● [TODO] Add these items to the &amp;#34;ignoreFiles&amp;#34; setting: &amp;#34;\\.Rmd$&amp;#34;, &amp;#34;\\.Rmarkdown$&amp;#34;, &amp;#34;\\.knit\\.md$&amp;#34;, &amp;#34;\\.utf8\\.md$&amp;#34;
| Checking setting for Hugo&amp;#39;s Markdown renderer...
○ All set! Found the &amp;#34;unsafe&amp;#34; setting for goldmark.
― Check complete: config.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Looks like we have a few &lt;code&gt;[TODO]&lt;/code&gt; items to add to our &lt;code&gt;config.yaml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;config.yaml&amp;#34;&lt;/span&gt;, line &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;15&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;goodbye-nelson-b&#34;&gt;Goodbye Nelson B.
  &lt;a href=&#34;#goodbye-nelson-b&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s say goodbye to 
&lt;a href=&#34;https://themes.gohugo.io/theme/academic/#about&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Nelson Bighetti&lt;/a&gt;. Everything in this single markdown file populates what is called the &lt;code&gt;about&lt;/code&gt; widget; a customized one looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;about.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Find and open the file &lt;code&gt;content/authors/admin/_index.md&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;content/authors/admin/_index.md&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Edit the YAML metadata to change:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The 
&lt;a href=&#34;https://wowchemy.com/docs/page-builder/#icons&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;icons&lt;/a&gt; and where they link to&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your current role and organization&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your interests&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your education&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The text under the YAML is your bio; you can use markdown here. Add an &lt;code&gt;avatar.jpg&lt;/code&gt; file too (it &lt;em&gt;must&lt;/em&gt; be named this) to the same folder.&lt;/p&gt;




&lt;h3 id=&#34;prune-widgets&#34;&gt;Prune widgets
  &lt;a href=&#34;#prune-widgets&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Remember how we started with thinking about your 
&lt;a href=&#34;#todo-content&#34;&gt;content&lt;/a&gt;? We are ready to prune out some of our unwanted widgets.&lt;/p&gt;
&lt;p&gt;Recall that on the 
&lt;a href=&#34;https://academic-demo.netlify.app/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Academic demo site&lt;/a&gt;, the entire home page is filled with widgets! The default example site is the exact same as the demo. It sets almost every available widget to &lt;strong&gt;active&lt;/strong&gt; to show you the range of what you could do.&lt;/p&gt;
&lt;p&gt;Deactivating the widgets you don&amp;rsquo;t need and only activating the ones you want will help you avoid having your home page feel like the 💀 &amp;ldquo;scroll of death,&amp;rdquo; as my friend 
&lt;a href=&#34;https://twitter.com/jackiewirz&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jackie Wirz&lt;/a&gt; called it.&lt;/p&gt;
&lt;p&gt;Remember my 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Mr._Potato_Head&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mr. Potato Head&lt;/a&gt; analogy? The home page is your most prominent potato, and the widgets are all the pieces you could use.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/305jKnp2ErJK0/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Each widget you see is a &lt;code&gt;*.md&lt;/code&gt; file in the &lt;code&gt;content/home/&lt;/code&gt; folder. The metadata at the top helps you configure each widget; namely whether it is &lt;code&gt;active&lt;/code&gt; (true or false) and the widgets &lt;code&gt;weight&lt;/code&gt; (ordering, actual numbers doesn&amp;rsquo;t matter- only relative to the other weights).&lt;/p&gt;
&lt;p&gt;For example, to turn off the hero widget, use this code in your console and set &lt;code&gt;active = false&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rstudioapi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;navigateToFile&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;content/home/hero.md&amp;#34;&lt;/span&gt;, line &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;5&lt;/span&gt;, column &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;10&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Take about 10 minutes about try out turning widgets off and on, and changing their order to see what you like!&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can also delete a widget file. You can always recover &lt;code&gt;*.md&lt;/code&gt; widget files by going into your &lt;code&gt;themes/hugo-academic/exampleSite/content/home/&lt;/code&gt; folder.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For my own site, I use 4 main home page widgets:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.apreshill.com/#about&#34;&gt;&lt;em&gt;about&lt;/em&gt;&lt;/a&gt; (photo / icons / bio / interests / education)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.apreshill.com/#slider&#34;&gt;&lt;em&gt;slider&lt;/em&gt;&lt;/a&gt; (used to showcase some feedback from my workshops)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.apreshill.com/#posts&#34;&gt;&lt;em&gt;posts&lt;/em&gt;&lt;/a&gt; (set to show only the most recent)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.apreshill.com/#talks&#34;&gt;&lt;em&gt;talks&lt;/em&gt;&lt;/a&gt; (set to show only the most recent)&lt;/li&gt;
&lt;/ol&gt;




&lt;h3 id=&#34;transplant-widgets&#34;&gt;Transplant widgets
  &lt;a href=&#34;#transplant-widgets&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If you opted for a more streamlined home page with fewer widgets, you may experience &lt;em&gt;widget pruning regret&lt;/em&gt;. Many are very useful, and you may wish to use widgets on &lt;em&gt;other&lt;/em&gt; pages that are not the home page. In this theme, this is possible! Even if you turn off a widget on the home page, you can create what is called a widget page and add or even combine widgets there. I make heavy use of widget pages in my own site. Here are the steps (following the 
&lt;a href=&#34;https://sourcethemes.com/academic/docs/managing-content/#create-a-widget-page&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;docs&lt;/a&gt;):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a new folder in &lt;code&gt;content/&lt;/code&gt;; let&amp;rsquo;s call it &lt;code&gt;resume&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Inside &lt;code&gt;content/resume/&lt;/code&gt;, add a file named &lt;code&gt;index.md&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Populate &lt;code&gt;content/resume/index.md&lt;/code&gt; with a YAML, like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;summary&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;More about my work experience&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Resume&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;type&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;widget_page&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    The very critical line here is the &lt;code&gt;type: widget_page&lt;/code&gt;&amp;mdash;this sets you up to now copy over widgets from &lt;code&gt;content/home/&lt;/code&gt; in this new folder.
  &lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;Copy the widget &lt;code&gt;*.md&lt;/code&gt; files you&amp;rsquo;d like to use into this &lt;code&gt;content/resume/&lt;/code&gt; folder. Edit their metadata (weights, other info), and be sure to set &lt;code&gt;active = true&lt;/code&gt;. For my own resume, I copied the &lt;em&gt;experience&lt;/em&gt; and &lt;em&gt;accomplishments&lt;/em&gt; widgets over.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want to access this new widget page from your top navbar, open up your &lt;code&gt;config/_default/menus.toml&lt;/code&gt; and add it there, like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[[main]]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  name = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Resume&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  url = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;/resume&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  weight = &lt;span style=&#34;color:#099&#34;&gt;50&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can link to any specific widget by taking your baseurl and appending &lt;code&gt;/#{name-of-widget}&lt;/code&gt;, so &lt;code&gt;/#slider&lt;/code&gt; links to 
&lt;a href=&#34;https://www.apreshill.com/#slider&#34;&gt;&lt;em&gt;my homepage slider&lt;/em&gt;&lt;/a&gt;. And &lt;code&gt;/resume/#accomplishments&lt;/code&gt; links to 
&lt;a href=&#34;https://www.apreshill.com/resume/#accomplishments&#34;&gt;&lt;em&gt;my honors &amp;amp; awards&lt;/em&gt;&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Let&amp;rsquo;s run one final check, which wraps all 5 checking functions we&amp;rsquo;ve used so far into a single final checklist:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; blogdown::check_site()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is immensely comforting to me; read more about these new checking functions 
&lt;a href=&#34;https://www.apreshill.com/post/2020-12-27-blogdown-checks/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/j1zW1Ng86MV78tRLOo/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;we-made-it&#34;&gt;We made it!
  &lt;a href=&#34;#we-made-it&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;At this point, you should be up and running with &lt;code&gt;blogdown&lt;/code&gt;, GitHub, and Netlify. You now have the scaffold up and ready for your ideas, your style, and your voice. If you made it this far, please share your site- I&amp;rsquo;d love to see it!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/1xNDlJsL1ntZZqm7pn/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Unbreak your blogdown site</title>
      <link>https://www.apreshill.com/blog/2020-12-blogdown-checks/</link>
      <pubDate>Sun, 27 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-12-blogdown-checks/</guid>
      <description>&lt;p&gt;This holiday season, the R Markdown elves at RStudio have been busy at work wrapping up the next release of the blogdown package. Blogdown is a package close to my own heart, as it was the subject of 
&lt;a href=&#34;https://www.apreshill.com/post/2017-06-12-up-and-running-with-blogdown/&#34;&gt;my very first blog post&lt;/a&gt;, and that led to co-authoring the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;book on blogdown&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fast-forward more than three years later, and I have built, borked, and torched more blogdown/Hugo sites than I care to admit.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/Y48Qr2Ntib9r5RQpeB/giphy.gif&#34; alt=&#34;I love Lucy: a little too much&#34;&gt;&lt;/p&gt;
&lt;p&gt;But, I&amp;rsquo;ve also learned a lot about how to use and learn blogdown/Hugo, and how to help other people 
&lt;a href=&#34;post/2019-03-04-hugo-troubleshooting/&#34;&gt;troubleshoot&lt;/a&gt; their sites too.&lt;/p&gt;
&lt;p&gt;For anyone thinking about dipping their toes into blogdown and making their first Hugo site, the vocabulary alone can be wildly intimidating. I remember being skeptical about Netlify, and also not fully understanding how exactly I had entered into a relationship with Hugo and what our boundaries were. There are so many moving pieces, and many possible missteps for new and even &amp;ldquo;more senior&amp;rdquo; users like myself. I&amp;rsquo;ve seen it all- users trying to serve a site from within an empty repo, having a missing &lt;code&gt;theme&lt;/code&gt; folder, ignoring all rendered files, accidentally knitting an R Markdown file (
&lt;a href=&#34;https://github.com/rstudio/blogdown/commit/d32c2945623581377e256d3f7f6e3566c05e3d6f&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;but now you can!&lt;/a&gt;). The list goes on and on and on.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/XECiLxeHvwdD96Jc6Z/giphy.gif&#34; alt=&#34;I love Lucy: eating chocolates&#34;&gt;&lt;/p&gt;
&lt;p&gt;I admit- I originally thought education could solve these issues at first. We just needed to improve the documentation, I thought. Maybe the book could be better. But, in truth, we needed to think &lt;em&gt;inside&lt;/em&gt; the package box, because that is the only failsafe way to reach users. So, the package itself needed to do more. The blogdown package had already implemented several printed warnings and error messages intended to help guide users toward the happy path. However, we 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/510#issuecomment-743468440&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;got&lt;/a&gt; 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/519&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;feedback&lt;/a&gt; that many users were unsure how to act on the messages and sometimes just ignored them (myself included!). Then I asked my colleague 
&lt;a href=&#34;https://jennybryan.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jenny Bryan&lt;/a&gt; about her approach to package warnings and error messages, and she said something very simple (paraphrased from my notes!):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When possible, it is much better to offer users control over when and how they can solve their own problems.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When you force users to wait for an error to occur, you are putting the user in a reactive stance. This is typically not a great mental space to be in to learn. Learning is highly unlikely in a reactive stance too, because messages focus on informing the user &lt;em&gt;what&lt;/em&gt; the error is, but often fail to say &lt;em&gt;how&lt;/em&gt; to make it go away. On the other hand, giving users targeted functions can help them feel proactive and empowered. Well-designed functions can give you as the package developer an opportunity to offer opinionated advice, and at the same time, help the user gain a mental model of a complicated situation. This idea is the driver behind the 
&lt;a href=&#34;https://usethis.r-lib.org/reference/git_sitrep.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;usethis::git_sitrep()&lt;/code&gt;&lt;/a&gt; and 
&lt;a href=&#34;https://usethis.r-lib.org/reference/proj_sitrep.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;usethis::proj_sitrep()&lt;/code&gt;&lt;/a&gt; functions.&lt;/p&gt;
&lt;p&gt;After this conversation with Jenny, I sketched out an 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/525&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;idea&lt;/a&gt; for a series of &amp;ldquo;checking&amp;rdquo; functions for blogdown. I wasn&amp;rsquo;t sure all of these were actually possible, but with the amazing help of 
&lt;a href=&#34;https://yihui.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui Xie&lt;/a&gt; and 
&lt;a href=&#34;http://cderv.rbind.io/about/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Christophe Dervieux&lt;/a&gt;, we came up with five functions to help ensure user success:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;check_config()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;check_gitignore()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;check_hugo()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;check_content()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;check_netlify()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of these functions is meant to be used interactively as you build and edit your blogdown site. A clean pre-flight checklist still unfortunately cannot ensure website success, but it will help users sidestep the most common and avoidable pitfalls.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/26FPAvfNjwa9hCMZW/giphy.gif&#34; alt=&#34;I love Lucy: pie in the face&#34;&gt;&lt;/p&gt;
&lt;p&gt;A sixth function, &lt;code&gt;check_site()&lt;/code&gt;, wraps all five up in a single function, which I suspect will be most useful for existing blogdown users who are already familiar with GitHub, Netlify, and Hugo.&lt;/p&gt;
&lt;p&gt;We ended up doing a lot of massaging of the output formatting (
&lt;a href=&#34;https://github.com/rstudio/blogdown/pull/534&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;see my PR&lt;/a&gt;), and finally settled on the following:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;----------------------------------------------------------
○ A successful check looks like this.
● [TODO] A check that needs your attention looks like this.
| Let&amp;#39;s check out your blogdown site!
----------------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I&amp;rsquo;m really happy with the end result, and I hope users are as well. I not-so-secretly hope these functions help educators feel braver about teaching blogdown too. So, without further ado&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;| Let&amp;#39;s check out your blogdown site!
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To do this on your own, you&amp;rsquo;ll want to use the remotes package to install the development version of blogdown:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;remotes::install_github(&amp;#34;rstudio/blogdown&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;



&lt;h2 id=&#34;check-your-sites-configuration&#34;&gt;Check your site&amp;rsquo;s configuration
  &lt;a href=&#34;#check-your-sites-configuration&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Your Hugo site&amp;rsquo;s main configuration file is located in the project root of your website, called &lt;code&gt;config.toml&lt;/code&gt; or &lt;code&gt;config.yaml&lt;/code&gt;. This file is your most direct line of communication with Hugo itself, and settings in this file are usually the first I check when trying to help users troubleshoot their build.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_config&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking config.toml
| Checking &amp;#34;baseURL&amp;#34; setting for Hugo...
○ Found baseURL = &amp;#34;https://alison.rbind.io&amp;#34;; nothing to do here!
| Checking &amp;#34;ignoreFiles&amp;#34; setting for Hugo...
● [TODO] Add these items to the &amp;#34;ignoreFiles&amp;#34; setting: &amp;#34;\\.Rmd$&amp;#34;, &amp;#34;\\.Rmarkdown$&amp;#34;, &amp;#34;\\.knit\\.md$&amp;#34;, &amp;#34;\\.utf8\\.md$&amp;#34;
| Checking setting for Hugo&amp;#39;s Markdown renderer...
○ All set! Found the &amp;#34;unsafe&amp;#34; setting for goldmark.
― Check complete: config.toml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can see I have one &lt;code&gt;[TODO]&lt;/code&gt; item. Below, I&amp;rsquo;ll bork up my own &lt;code&gt;config.toml&lt;/code&gt; file a bit more:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking config.toml
| Checking &amp;#34;baseURL&amp;#34; setting for Hugo...
● [TODO] Update &amp;#34;baseURL&amp;#34; to your actual URL when ready to publish.
| Checking &amp;#34;ignoreFiles&amp;#34; setting for Hugo...
● [TODO] Add these items to the &amp;#34;ignoreFiles&amp;#34; setting: &amp;#34;\\.Rmd$&amp;#34;, &amp;#34;\\.Rmarkdown$&amp;#34;, &amp;#34;\\.knit\\.md$&amp;#34;, &amp;#34;\\.utf8\\.md$&amp;#34;
| Checking setting for Hugo&amp;#39;s Markdown renderer...
| You are using the Markdown renderer &amp;#39;goldmark&amp;#39;.
● [TODO] Allow goldmark to render raw HTML by adding this setting to config.toml (see https://github.com/rstudio/blogdown/issues/447 for more info):

[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true

==&amp;gt; Do you want blogdown to set this for you? (y/n) n
― Check complete: config.toml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A few more &lt;code&gt;[TODO]&lt;/code&gt; items here, but all are actionable, and originate from a single file (&lt;code&gt;config.toml&lt;/code&gt;) which the function also opens for you interactively. 🎉&lt;/p&gt;




&lt;h2 id=&#34;check-your-gitignore-file&#34;&gt;Check your &lt;code&gt;.gitignore&lt;/code&gt; file
  &lt;a href=&#34;#check-your-gitignore-file&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you are using blogdown, you&amp;rsquo;ll likely need a version control system like Git. Files named in a &lt;code&gt;.gitignore&lt;/code&gt; file will always be ignored whenever you add and commit files to your remote repository, but having the wrong files listed here can easily sink you a few hours (I&amp;rsquo;ve had this happen several times with collaborators!). Now, we can run a tidy little check:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_gitignore&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking .gitignore
| Checking for items to remove...
○ Nothing to see here - found no items to remove.
| Checking for items you can safely ignore...
○ Found! You have safely ignored: .DS_Store
● [TODO] You can safely add to .gitignore: Thumbs.db
| Checking for items to ignore if you build the site on Netlify...
○ Found! You have safely ignored: public, resources
― Check complete: .gitignore
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This function screens for items you should remove, and for items you can safely add. It also checks if you are using Netlify, which we assume based on the presence of a &lt;code&gt;netlify.toml&lt;/code&gt; file in your project.&lt;/p&gt;




&lt;h2 id=&#34;check-your-hugo-versions&#34;&gt;Check your Hugo versions
  &lt;a href=&#34;#check-your-hugo-versions&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Hugo versions were by far my biggest pain point. Earlier this year, I had added some kind of Hugo versioning system built into blogdown to my 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/476&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;giant feature wishlist&lt;/a&gt;. I am so relieved that this latest release of blogdown includes this, but that meant we also needed to provide users with ways to inspect and maintain their Hugo versions.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking Hugo
| Checking Hugo version...
○ Found 4 versions of Hugo. You are using Hugo 0.79.0.
| Checking .Rprofile for Hugo version used by blogdown...
| Hugo version not set in .Rprofile.
● [TODO] Set options(blogdown.hugo.version = &amp;#34;0.79.0&amp;#34;) in .Rprofile.
● [TODO] Also run blogdown::check_netlify() to check for possible problems with Hugo and Netlify.
― Check complete: Hugo
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note that the new blogdown Hugo versioning system now relies on a &lt;code&gt;.Rprofile&lt;/code&gt; file that you probably want to keep in the project root. These files are a bit annoying, because anytime you need to edit them, you&amp;rsquo;ll want to restart your R session for changes to take effect. If you don&amp;rsquo;t have a project-level &lt;code&gt;.Rprofile&lt;/code&gt; file, try the newly added &lt;code&gt;blogdown::config_Rprofile()&lt;/code&gt; function to create one (see &lt;code&gt;?config_Rprofile&lt;/code&gt; for help).&lt;/p&gt;




&lt;h2 id=&#34;check-your-hugo-content&#34;&gt;Check your Hugo content
  &lt;a href=&#34;#check-your-hugo-content&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Your Hugo site&amp;rsquo;s content predictably lives inside the &lt;code&gt;content/&lt;/code&gt; folder of your project. But there are lots of unpredictable things Hugo can do (or not do) with your content. For example, I think 
&lt;a href=&#34;https://www.apreshill.com/post/2019-03-04-hugo-troubleshooting/#dates&#34;&gt;every blogdown user&lt;/a&gt; at some point has stumbled into the &lt;code&gt;draft: TRUE&lt;/code&gt; minefield, or the future dated content abyss. As well, many users accidentally end up with duplicate rendered output files (Hugo will prefer the &lt;code&gt;.html&lt;/code&gt; if present). This function checks these things for you:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_content&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking content files
| Checking for previewed content that will not be published...
● [TODO] Found 1 file with a future publish date:

  content/talk/2021-rstudio-global/index.md

  If you want to publish today, change a file&amp;#39;s YAML key to &amp;#39;date: 2020-12-27&amp;#39;
○ Found 0 files marked as drafts.
| Checking your R Markdown content...
○ All R Markdown files have been knitted.
○ All R Markdown output files are up to date with their source files.
| Checking for .html/.md files to clean up...
○ Found 0 duplicate .html output files.
○ Found 0 incompatible .html files to clean up.
― Check complete: Content
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note that this also checks that all R Markdown files have some kind of knitted rendered output present. This is 🆕, and we believe is a better default. Think: save-on-knit. You now only need to knit R Markdown files (the previous behavior was knit-on-save, which sometimes led to an error-filled render vortex if your code did not run).&lt;/p&gt;




&lt;h2 id=&#34;check-your-netlify-setup&#34;&gt;Check your Netlify setup
  &lt;a href=&#34;#check-your-netlify-setup&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Almost done with your pre-flight checklist! The last one helps set you up for deployment success:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;check_netlify&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking netlify.toml...
○ Found HUGO_VERSION = 0.79.0 in [build] context of netlify.toml.
| Checking that Netlify &amp;amp; local Hugo versions match...
○ It&amp;#39;s a match! Blogdown and Netlify are using the same Hugo version (0.79.0).
| Checking that Netlify &amp;amp; local Hugo publish directories match...
○ Good to go - blogdown and Netlify are using the same publish directory: public
― Check complete: netlify.toml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;No &lt;code&gt;[TODO]&lt;/code&gt;s! Now let&amp;rsquo;s bork things up:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;― Checking netlify.toml...
○ Found HUGO_VERSION = 0.69.0 in [build] context of netlify.toml.
| Checking that Netlify &amp;amp; local Hugo versions match...
| Mismatch found:
  blogdown is using Hugo version (0.79.0) to build site locally.
  Netlify is using Hugo version (0.69.0) to build site.
● [TODO] Option 1: Change HUGO_VERSION = &amp;#34;0.79.0&amp;#34; in netlify.toml to match local version.
● [TODO] Option 2: Use blogdown::install_hugo(&amp;#34;0.69.0&amp;#34;) to match Netlify version, and set options(blogdown.hugo.version = &amp;#34;0.69.0&amp;#34;) in .Rprofile to pin this Hugo version.
| Checking that Netlify &amp;amp; local Hugo publish directories match...
○ Good to go - blogdown and Netlify are using the same publish directory: public
― Check complete: netlify.toml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Whoops! You can see that a mismatch was found: I&amp;rsquo;m using a newer version of Hugo on Netlify than I am using to build locally. You want these to match, so that you can be reasonably sure that what you see on your public site will not be a surprise 😱&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/k2gBKDCrkh72g/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;check-your-site&#34;&gt;Check your site
  &lt;a href=&#34;#check-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you don&amp;rsquo;t want to go file-by-file and step-by-step, and you&amp;rsquo;re into more of a &amp;ldquo;kitchen sink&amp;rdquo; approach, give &lt;code&gt;check_site()&lt;/code&gt; a try. It will wrap all these checks up for you in a single function call.&lt;/p&gt;
&lt;p&gt;Please give the development version of the blogdown package a try, and help us make it better by filing 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/new/choose&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;issues&lt;/a&gt; on GitHub. And I hope these new functions help you have more fun actually working with your site!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/SpVJOOBAWggAE/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;You can watch my recent talk at the LA R User Group meetup on YouTube to see learn more about the new features you can look forward to with this latest blogdown release 
&lt;a href=&#34;https://www.apreshill.com/talk/2020-larug/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>M-F-E-O: postcards &#43; distill</title>
      <link>https://www.apreshill.com/blog/2020-12-postcards-distill/</link>
      <pubDate>Tue, 22 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-12-postcards-distill/</guid>
      <description>&lt;p&gt;This is a very brief &amp;ldquo;postcard to myself&amp;rdquo; about how to use the new 
&lt;a href=&#34;https://github.com/seankross/postcards&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;postcards package&lt;/a&gt; by Sean Kross. What problem does postcards solve?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Create simple, beautiful personal websites and landing pages using only R Markdown.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;mdash; postcards 
&lt;a href=&#34;https://github.com/seankross/postcards#postcards&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;README.md&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Postcards includes four templates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://seankross.com/postcards-templates/jolla/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jolla&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://seankross.com/postcards-templates/jolla-blue/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jolla Blue&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://seankross.com/postcards-templates/trestles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Trestles&lt;/a&gt;, and&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://seankross.com/postcards-templates/onofre/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Onofre&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see &lt;code&gt;postcards::trestles&lt;/code&gt; in action here: 
&lt;a href=&#34;http://jtleek.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://jtleek.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And here (this is where we are headed!):&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;final-trestles.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://rstudio.github.io/distill/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Distill&lt;/a&gt; is a package that &lt;em&gt;also&lt;/em&gt; helps you make simple, beautiful websites and blogs using only R Markdown. They are M-F-E-O (&amp;lsquo;made for each other&amp;rsquo;: this is a &amp;ldquo;Sleepless in Seattle&amp;rdquo; reference with sadly, a complete lack of video to support). But if you&amp;rsquo;ve seen the movie this scene may sound familiar:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Becky: So I mailed your letter.&lt;/p&gt;
&lt;p&gt;Annie: &amp;ldquo;Dear Annie, thanks for your letter. It was great. You sound neat. We&amp;rsquo;re very excited about meeting you in New York on Valentine&amp;rsquo;s Day and seeing if we are M-F-E-O. See you soon. Sleepless in Seattle.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Becky: M-F-E-O?&lt;/p&gt;
&lt;p&gt;Annie: &amp;ldquo;Made for each other.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Becky: It&amp;rsquo;s cute. It&amp;rsquo;s like a little clue. So he can&amp;rsquo;t write. Big deal. Verbal ability is a highly over-rated thing in a guy and our pathetic need for it is what gets us into so much trouble.&lt;/p&gt;
&lt;p&gt;&amp;mdash; &lt;em&gt;Sleepless in Seattle&lt;/em&gt;, script from 
&lt;a href=&#34;https://plantyourstory.com/mfeo-its-like-a-little-clue/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://plantyourstory.com/mfeo-its-like-a-little-clue/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Consider this post like a little clue (I&amp;rsquo;m using it as a sandbox before updating our distill documentation for this new feature). Here is our existing signpost in the 
&lt;a href=&#34;https://rstudio.github.io/distill/website.html#alternate-formats&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;distill docs&lt;/a&gt;. With the CRAN versions of all three packages now, you can embed a postcards page within your distill site. This means the page will come with all your distill goodies like site navigation, theme, and google-analytics support.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can see the demo site I made alongside this post here: 
&lt;a href=&#34;https://apreshill.github.io/mfeo/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://apreshill.github.io/mfeo/&lt;/a&gt; (source: 
&lt;a href=&#34;https://github.com/apreshill/mfeo&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/apreshill/mfeo&lt;/a&gt;).
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;pre-requisites&#34;&gt;Pre-requisites
  &lt;a href=&#34;#pre-requisites&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;ll need the CRAN versions of three packages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;distill (v &amp;gt;= 1.2) (see: 
&lt;a href=&#34;https://pkgs.rstudio.com/distill/news/index.html#distill-v1-2-cran-&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://pkgs.rstudio.com/distill/news/index.html#distill-v1-2-cran-&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rmarkdown (v &amp;gt;= 2.7)&lt;/li&gt;
&lt;li&gt;postcards (v &amp;gt;= 0.2.0)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;c&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;distill&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rmarkdown&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;postcards&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can check these package versions as follows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;packageVersion&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;distill&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;packageVersion&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rmarkdown&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;packageVersion&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;postcards&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;make-a-website&#34;&gt;Make a website
  &lt;a href=&#34;#make-a-website&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In RStudio, create a new project using &lt;em&gt;File &amp;gt; New Project &amp;gt; New Directory &amp;gt; New Project&lt;/em&gt;. Then, inside your new empty project, use your R console to do the following:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(distill)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_website&lt;/span&gt;(dir &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;.&amp;#34;&lt;/span&gt;, title &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;mfeo&amp;#34;&lt;/span&gt;, gh_pages &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;At this point, I recommend closing RStudio completely and opening up your project again. This way you should see the &amp;ldquo;Build&amp;rdquo; tab.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://rstudio-education.github.io/sharing-short-notice/images/screenshots/build-site.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Now build your site! You should see the &amp;ldquo;boilerplate&amp;rdquo; website template at this point.&lt;/p&gt;




&lt;h2 id=&#34;add-a-postcard&#34;&gt;Add a postcard
  &lt;a href=&#34;#add-a-postcard&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In your R console, use the postcards package to create a new postcard:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_postcard&lt;/span&gt;(file &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;tobi.Rmd&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# future name of .Rmd file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alternatively, you could use &lt;code&gt;distill::create_article()&lt;/code&gt; to make a new page. To make a postcard, specify the &lt;code&gt;template&lt;/code&gt; (one of: &lt;code&gt;jolla&lt;/code&gt;, &lt;code&gt;jolla-blue&lt;/code&gt;, &lt;code&gt;onofre&lt;/code&gt;, &lt;code&gt;trestles&lt;/code&gt;) and &lt;code&gt;package = &#39;postcards&#39;&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_article&lt;/span&gt;(file &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;tobi&amp;#34;&lt;/span&gt;,         &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# future name of .Rmd file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               template &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;jolla&amp;#34;&lt;/span&gt;,    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# name of template&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               package &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;postcards&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# package that includes the template&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Let&amp;rsquo;s add a link to our new file in the top navbar. Open up your &lt;code&gt;_site.yml&lt;/code&gt; file and add:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;name&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;mfeo&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;description&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;|&lt;span style=&#34;color:#d14&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d14&#34;&gt;  mfeo&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output_dir&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;docs&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;navbar&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;right&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;index.html&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;About&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;about.html&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Tobi&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;              &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;tobi.html          &lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;distill::distill_article&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Since my file is named &lt;code&gt;tobi.Rmd&lt;/code&gt;, that means the rendered file will be &lt;code&gt;tobi.html&lt;/code&gt;, so that is my &lt;code&gt;href&lt;/code&gt; key in the &lt;code&gt;_site.yml&lt;/code&gt;. If you save that file, you should see your website refresh, and look something like this!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;tobi.png&#34; alt=&#34;Jolla postcard page in distill website&#34; title=&#34;Jolla postcard page in distill website&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;add-a-theme&#34;&gt;Add a theme
  &lt;a href=&#34;#add-a-theme&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For fun, let&amp;rsquo;s go ahead and add a custom distill theme while we&amp;rsquo;re at it.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_theme&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;postcards&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can see copy my theme file from here: 
&lt;a href=&#34;https://github.com/apreshill/mfeo/blob/master/postcards.css&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/apreshill/mfeo/blob/master/postcards.css&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This should print to your R console:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;v Created CSS file at postcards.css 
o TODO: Customize it to suit your needs
o TODO: Add &#39;theme: postcards.css&#39; to your site or article YAML

See docs at &amp;lt;https://rstudio.github.io/distill/website.html#theming&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I want a full-site theme, so I added &lt;code&gt;theme: postcards.css&lt;/code&gt; to my &lt;code&gt;_site.yml&lt;/code&gt; file. I followed the distill docs on theming 
&lt;a href=&#34;https://rstudio.github.io/distill/website.html#theming&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;. Re-build my website, and now I see:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;tobi-theme.png&#34; alt=&#34;Jolla postcard page in themed distill website&#34; title=&#34;Jolla postcard page in themed distill website&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;switch-the-homepage&#34;&gt;Switch the homepage
  &lt;a href=&#34;#switch-the-homepage&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Now you may be wishing that your postcards page was your homepage- the place where visitors first land when they visit your website. The homepage in a distill website is named &lt;code&gt;index.Rmd&lt;/code&gt;, so we need to remove the current &lt;code&gt;index.Rmd&lt;/code&gt; file and replace it with &lt;code&gt;tobi.Rmd&lt;/code&gt;. But we cannot just rename the files&amp;hellip;&lt;/p&gt;
&lt;p&gt;If you open up &lt;code&gt;index.Rmd&lt;/code&gt;, you should see this yaml:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;mfeo&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;description&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;|&lt;span style=&#34;color:#d14&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#d14&#34;&gt;  Welcome to the website. I hope you enjoy it!&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;site&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;distill::distill_website&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That &lt;code&gt;site&lt;/code&gt; key is very important to keep in the &lt;code&gt;index.Rmd&lt;/code&gt; file. Steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Let&amp;rsquo;s start by adding &lt;code&gt;site: distill::distill_website&lt;/code&gt; to the yaml of your postcards page, mine is named &lt;code&gt;tobi.Rmd&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;After doing that, you can delete &lt;code&gt;index.Rmd&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Next, rename &lt;code&gt;tobi.Rmd&lt;/code&gt; -&amp;gt; &lt;code&gt;index.Rmd&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Finally, clean up your &lt;code&gt;_site.yml&lt;/code&gt; - you can remove the link we added above to &lt;code&gt;tobi.html&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Re-build your site and Tobi&amp;rsquo;s shining face should greet you from the homepage!&lt;/p&gt;




&lt;h2 id=&#34;fill-in-your-postcard&#34;&gt;Fill-in your postcard
  &lt;a href=&#34;#fill-in-your-postcard&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Of course, you can add your own image file to the project root at this point, and then personalize your &lt;code&gt;index.Rmd&lt;/code&gt; using the postcards template:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Alison Hill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;image&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;alison.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;links&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;LinkedIn&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;url&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://www.linkedin.com/in/alisonpresmaneshill/&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;Twitter&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;url&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://twitter.com/apreshill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;GitHub&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;url&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://github.com/apreshill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;ORCID iD&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;url&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://orcid.org/0000-0002-8082-1890&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;site&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;distill::distill_website&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;postcards::jolla&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is my &amp;ldquo;after&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;alison-home.png&#34; alt=&#34;Jolla as themed homepage&#34; title=&#34;Jolla as themed homepage&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;add-a-blog&#34;&gt;Add a blog
  &lt;a href=&#34;#add-a-blog&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Back in your console, we can add a blog, using distill:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;create_post&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;welcome&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you do this with a blog already, it just adds a single post. But if you do this without posts set up, it does some nice things for you:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Creates a directory called &lt;code&gt;_posts/&lt;/code&gt; to hold all your future blog posts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Creates a new post with a &amp;ldquo;slug&amp;rdquo; including the date and the name of the post (here, mine was &lt;code&gt;&amp;quot;welcome&amp;quot;&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Your new post should open up - go ahead and knit this post. Posts in distill need to be knit intentionally, so they will never be automatically built when you rebuild your website.&lt;/p&gt;
&lt;p&gt;We also probably want to add a listing page to list all our blog posts. Do this by adding a blank &lt;code&gt;.Rmd&lt;/code&gt; file to your project root, I&amp;rsquo;ll call mine &lt;code&gt;blog.Rmd&lt;/code&gt; but there is no magic to this file name:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;file.edit&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blog.Rmd&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then open up your new &lt;code&gt;blog.Rmd&lt;/code&gt; and add a YAML (no content below the YAML):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Blog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# any name you want here&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;listing&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;posts&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# do this exactly&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Finally, add a link to your blog in your upper navbar so people can actually find it! Do this by editing &lt;code&gt;_site.yml&lt;/code&gt; one last time (remember, since my listing &lt;code&gt;.Rmd&lt;/code&gt; is named &lt;code&gt;blog.Rmd&lt;/code&gt;, then the href I want to link to is &lt;code&gt;blog.html&lt;/code&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;navbar&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;right&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;index.html&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;About&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;about.html&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000080&#34;&gt;text&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Blog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;href&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;blog.html  &lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, admire your final polished product!&lt;/p&gt;
&lt;video width=&#34;800&#34; height=&#34;400&#34; controls&gt;
&lt;source src=&#34;final-site.mov&#34; type=&#34;video/mp4&#34;&gt;
&lt;/video&gt;




&lt;h2 id=&#34;switch-your-postcard&#34;&gt;Switch your postcard
  &lt;a href=&#34;#switch-your-postcard&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s say you decide you want to switch it up and use the &lt;code&gt;trestles&lt;/code&gt; theme, instead of &lt;code&gt;jolla&lt;/code&gt;. Easy. Open up your &lt;code&gt;index.Rmd&lt;/code&gt; and find these lines in the YAML:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;postcards::jolla&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And change to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;postcards::trestles&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Re-build your site!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;final-trestles.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;publishing&#34;&gt;Publishing
  &lt;a href=&#34;#publishing&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I won&amp;rsquo;t be able to cover all the publishing options here, but you can read up on the options for 
&lt;a href=&#34;https://rstudio.github.io/distill/publish_website.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;publishing distill websites here&lt;/a&gt;. If you want to take a site like mine that you built, I recommend GitHub Pages. You can use the &lt;code&gt;usethis&lt;/code&gt; package to run:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;use_git&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;use_github&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    I also just learned about the new 
&lt;a href=&#34;https://usethis.r-lib.org/reference/use_github_pages.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;usethis::use_github_pages()&lt;/code&gt;&lt;/a&gt; to turn on and/or (re)configure GitHub Pages!
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Then in the GitHub project, navigate over to &amp;ldquo;Settings&amp;rdquo; and &lt;em&gt;scroooooooll down&lt;/em&gt; to choose:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;gh-pages.png&#34; alt=&#34;GitHub Pages settings for distill websites&#34; title=&#34;GitHub Pages settings for distill websites&#34;&gt;&lt;/p&gt;
&lt;p&gt;For this to work, make sure your site is building to &lt;code&gt;docs/&lt;/code&gt; locally, and that you are committing and pushing the &lt;code&gt;docs/&lt;/code&gt; directory to GitHub.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Teaching students to talk about data science</title>
      <link>https://www.apreshill.com/blog/2020-12-self-assessments/</link>
      <pubDate>Sun, 13 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-12-self-assessments/</guid>
      <description>&lt;p&gt;Last summer (😬), I was invited to give a talk at the Joint Statistical Meetings on data science education. The session I was invited to join included Shannon Ellis, Stephanie Hicks, and Michael Love as the other speakers, and I immediately knew what I wanted to talk about!&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;jsm2019.jpg&#34; alt=&#34;L to R: Shannon Ellis, Stephanie Hicks, Michael Love, me&#34; width=&#34;75%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 1: L to R: Shannon Ellis, Stephanie Hicks, Michael Love, me&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    If you just want to skip to my actual slides, they are 
&lt;a href=&#34;../../talk/2019-jsm-talk-ds/&#34;&gt;here&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;teaching-students-to-talk-about-data-science&#34;&gt;Teaching students to talk about data science
  &lt;a href=&#34;#teaching-students-to-talk-about-data-science&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;One of the things I spent a lot of time thinking about in my 12 years as a professor was how to teach students how to &lt;em&gt;communicate about data science with other human beings&lt;/em&gt;. It is sometimes all too easy to focus on &amp;ldquo;just&amp;rdquo; the practical skills like being able to wrangle, explore, analyze, and visualize data (preferably using code). But, teaching students to be able to describe, document, plan, collaborate, question, and communicate effectively about data science? That is &lt;em&gt;way harder&lt;/em&gt; than it sounds.&lt;/p&gt;
&lt;p&gt;For example, you may know learners like this:&lt;/p&gt;
&lt;p&gt;You can ask them focused questions on an assignment, and they do fine. Maybe even great.&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;write.png&#34; alt=&#34;A+ writing&#34; width=&#34;100%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 2: A+ writing&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Then you may ask them to present their work. Also fine. Maybe even great.&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;present.png&#34; alt=&#34;A+ presenting&#34; width=&#34;100%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 3: A+ presenting&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Then comes the Q&amp;amp;A, and maybe a colleague you invited or another student asks a &lt;em&gt;good&lt;/em&gt; question&amp;hellip;and your star student freezes. Or maybe they tell you about a job interview they had, and they fumbled it.&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;talk.png&#34; alt=&#34;Oh no&#34; width=&#34;100%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 4: Oh no&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;As a former language researcher, I like to compare this to learning the semantics versus pragmatics of language. So semantics is concerned with getting vocabulary and meaning correct. But pragmatics is all about language use in real life. And to get a job, to engage with and contribute to the data science community, learners need pragmatics.&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;pragmatics.png&#34; alt=&#34;The semantics &amp;amp; pragmatics of data science communication&#34; width=&#34;100%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 5: The semantics &amp; pragmatics of data science communication&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;So how did I start getting them there? Sort of by accident! One day, I happened to stumble upon a syllabus by 
&lt;a href=&#34;https://docs.google.com/presentation/d/1AL4WIGN6ti3uuIE-XgMQqQpLXijlVIeskI_D5ZxN80Q/edit#slide=id.g10749fb5e7_0_60&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hal Daumé&lt;/a&gt; from his machine learning class. I noticed something intriguing in there called &amp;ldquo;self-assessments.&amp;rdquo;&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;daume.png&#34; alt=&#34;From Hal Daumé&#39;s syllabus&#34; width=&#34;75%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 6: From Hal Daumé&#39;s syllabus&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This slide was all I could find out about it, but it was enough to get my wheels turning right away. Having a Ph.D. in 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Developmental_psychology&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;developmental psychology&lt;/a&gt;, I&amp;rsquo;d spent a lot of time studying the literature on the science of learning, and the idea of a self-assessment made me think:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/Ll9fCTNWC41rsbuqxk/giphy.gif&#34; alt=&#34;We&amp;rsquo;re onto something really good here&#34;&gt;&lt;/p&gt;
&lt;p&gt;Why might this actually work? It reinforces some tried and true self-directed learning strategies that are actually evidence-based like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;retrieval practice!&lt;/li&gt;
&lt;li&gt;distributed practice!&lt;/li&gt;
&lt;li&gt;elaborative interrogation!&lt;/li&gt;
&lt;li&gt;self-explanation!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All that to say, self-assessment would help students talk to themselves and to me about data science- in a way that I hadn&amp;rsquo;t enabled before.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    &lt;p&gt;I won&amp;rsquo;t bore with &lt;em&gt;all the edu literature&lt;/em&gt;, but if you want to know more you might enjoy reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.indiana.edu/~pcl/rgoldsto/courses/dunloskyimprovinglearning.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://www.indiana.edu/~pcl/rgoldsto/courses/dunloskyimprovinglearning.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;http://tguilfoyle.cmswiki.wikispaces.net/file/view/What_works,_What_doesn%27t.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;http://tguilfoyle.cmswiki.wikispaces.net/file/view/What_works,_What_doesn%27t.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.apa.org/science/about/psa/2016/06/learning-memory&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.apa.org/science/about/psa/2016/06/learning-memory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I had also had this little bee in my bonnet for awhile, and that was that I spent an inordinate amount of time crafting the most beautiful homework answer keys for my students&amp;hellip;that no one seemed to read. No one used my answer keys for learning. It bothered me because I knew there was value in reviewing these answer keys, but I hadn&amp;rsquo;t made them into an actual learning tool. When I saw Hal&amp;rsquo;s slide, it dawned on me: the solution to my problem was to give my answer keys away, and make them into a usable learning tool.^[I later found out that my palmerpenguins co-author Dr. Allison Horst does this too! 
&lt;a href=&#34;https://www.allisonhorst.com/post/share-keys/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.allisonhorst.com/post/share-keys/&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;The truth is, providing the answer keys or feedback at the end is not actually
helpful for learners. Students have high motivation and set aside time for what matters for their grade, not necessarily their learning. So it&amp;rsquo;s no surprise that motivation was low and time was limited for students
to devote to &amp;ldquo;extracurricular&amp;rdquo; learning.&lt;/p&gt;
&lt;p&gt;What if the homework was less about how well students could do with little support, and more about how much they could learn with all my support?&lt;/p&gt;
&lt;p&gt;I decided to find out. The next time I taught my statistics course, I began requiring students to turn in self-assessments. Here is my version of Hal&amp;rsquo;s slide with my rough plan:&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;key.png&#34; alt=&#34;Self-assessment plan&#34; width=&#34;1365&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 7: Self-assessment plan&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;If you look carefully there, you&amp;rsquo;ll see that there are in fact two ways to succeed while really trying in my class, and I was &lt;em&gt;very&lt;/em&gt; proud of this. At the beginning of class, I would tell students that some over-achievers might find this annoying at first, but that for me, my ultimate goal was &lt;em&gt;that every single person learned&lt;/em&gt;. I didn&amp;rsquo;t care whether you got it right off the bat, or whether you needed more time and resources to get it right. Either way, my grades mapped onto actual learning.&lt;/p&gt;
&lt;p&gt;Also note that the 0/1/2 points for the initial submission had nothing to do with accuracy of their initial solutions. And the accuracy for the self-assessment had only to do with the accuracy of their self-assessment! So really, we washed away the grading effect of getting it right in 1 week alone or in 2 weeks with the key. The students who got it right on the initial submission bought themselves every other week free and clear from assignments, though.&lt;/p&gt;




&lt;h2 id=&#34;how-to-succeed-while-really-trying&#34;&gt;How to succeed while really trying
  &lt;a href=&#34;#how-to-succeed-while-really-trying&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id=&#34;submit-a-perfectly-accurate-initial-solution&#34;&gt;Submit a perfectly accurate initial solution.
  &lt;a href=&#34;#submit-a-perfectly-accurate-initial-solution&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If your initial submission was a good faith effort (&lt;em&gt;2 points&lt;/em&gt;) and happened to be perfectly accurate when you reviewed the answer key (&lt;em&gt;3 points&lt;/em&gt;), you got a 5/5 for that question.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I found the same results as the answer key. Bada bing, bada boom.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3 id=&#34;submit-a-perfectly-accurate-self-assessment&#34;&gt;Submit a perfectly accurate self-assessment.
  &lt;a href=&#34;#submit-a-perfectly-accurate-self-assessment&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If your initial submission was a good faith effort (&lt;em&gt;2 points&lt;/em&gt;) but you did a bang-up job analyzing all of your mistakes and misunderstandings after thoroughly reviewing the key (&lt;em&gt;3 points&lt;/em&gt;), you got a 5/5 for that question.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Well, well, well. I was really confused about interaction effects.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Gah! I didn&amp;rsquo;t actually understand the null hypothesis here.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I forgot to set a seed for my permutation test, so now I see why my results kept changing!&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2 id=&#34;sample-self-assessments&#34;&gt;Sample self-assessments
  &lt;a href=&#34;#sample-self-assessments&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Most of my code matches the answer key - there were only one or two sections where I didn’t make the correct plot or write the correct code for the desired output, but I think a good portion of my narrative was accurate, which is encouraging.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;After doing this self-assessment, I’m realizing that I had a better grasp on this analysis than I had previously thought. I made a couple small errors, but after seeing the answer key, I think I understood why I made them and how to avoid those errors in the future. &amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I liked that the self-assessment allowed me to see where I was close and what parts I was really far off.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I found that, while generating this model was straightforward, interpretation of the results was more difficult than I expected.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2 id=&#34;logistics&#34;&gt;Logistics
  &lt;a href=&#34;#logistics&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;OK, at this point, you may also be credibly curious. But you are probably wondering, how on earth did this actually work?&lt;/p&gt;




&lt;h3 id=&#34;turning-it-in&#34;&gt;Turning it in
  &lt;a href=&#34;#turning-it-in&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;We advised students to color their text in R Markdown files knitted to HTML. The self-assessment portion always needed to be colored. You can find guidance on how to do that in the R Markdown cookbook: 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown-cookbook/font-color.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://bookdown.org/yihui/rmarkdown-cookbook/font-color.html&lt;/a&gt;&lt;/p&gt;




&lt;h3 id=&#34;trade-offs&#34;&gt;Trade-offs
  &lt;a href=&#34;#trade-offs&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Yes, I did have to cut back significantly on my homeworks. Whereas I would have anywhere from 6-8 homeworks before, I went down to four per quarter (plus a final project). This was because I typically allowed 1 week for the initial submission and another for the self-assessment, with no overlap. So each homework took 2 weeks. I trimmed homework length down, and I cut out anything that wasn&amp;rsquo;t essential.&lt;/p&gt;




&lt;h3 id=&#34;time-spent-by-tas&#34;&gt;Time spent by TAs
  &lt;a href=&#34;#time-spent-by-tas&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Honestly, I would have loved for self-assessments to have saved myself and my TAs time. I cannot say this was my experience. It was about the same amount of time overall.&lt;/p&gt;
&lt;p&gt;But, what our teaching team did notice was that we felt better with our own grade assignments, and we enjoyed the grading process more. Rather than feeling like you were searching for mistakes to remove points, you were searching for true insights gained to add points. Small code errors or typos were usually caught by the students themselves, so TAs felt less personally responsible for making sure students were made aware of everything they did wrong. Also, student self-assessments were funny, charming, and allowed us to get to know them better. We also were better able to identify students who could use 1-on-1 help&amp;hellip;because they would tell us that.&lt;/p&gt;
&lt;p&gt;And that brings me to the most common question I get: how did I assign grades? Truth be told, grading was my absolute least favorite part of teaching in academia. But self-assessments actually helped me get to a place where I felt like my grades mapped onto my goals. Here is an excerpt from my syllabus that describes my system:&lt;/p&gt;




&lt;h2 id=&#34;homework&#34;&gt;Homework
  &lt;a href=&#34;#homework&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A total of 4 homeworks will be assigned; your lowest score will be dropped at the end of the quarter. Some homeworks will require you to use R to analyze data. Although no prior R experience is required for this course, be prepared to do &lt;em&gt;a lot&lt;/em&gt; of self-guided learning. Students are expected to run R on their own computer or a computer they have plenty of access to and control over. Please attempt to do all homeworks on your own, but you may work with other students. However, you may not submit homework assignments as a group. You should submit your own original work.&lt;/p&gt;
&lt;p&gt;You will have 1 week to complete each homework assignment, and your initial solutions must be submitted to Sakai by 2pm on the due date (at the start of class on Thursdays). Late homeworks will not be accepted.&lt;/p&gt;




&lt;h3 id=&#34;homework-self-assessment&#34;&gt;Homework self-assessment
  &lt;a href=&#34;#homework-self-assessment&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;After the initial solutions are due, you will be provided a solution key. Using that key, you will be asked to assess your own initial solutions for accuracy and thoroughness; where you made mistakes, you must discuss and analyze where you went wrong, and correct them without copying/pasting directly from the key (this typically means that you need to include more narrative than we provide in the key). A good self-assessment will include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessment of the accuracy and completeness of your &amp;ldquo;initial solutions&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Correct worked solutions with some discussion and analysis of why your initial solution was incorrect, and reflection on the source of your confusion (if you got an answer correct, this is not necessary)&lt;/li&gt;
&lt;li&gt;Attributions as appropriate to other students who helped you, or other sources such as lecture notes, readings, online resources, etc. that helped you&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;homework-grades&#34;&gt;Homework grades
  &lt;a href=&#34;#homework-grades&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Homework grades will be based on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Was your initial solution a good faith effort?&lt;/li&gt;
&lt;li&gt;Did you catch all of your own errors in your self-assessment?&lt;/li&gt;
&lt;li&gt;Is your updated solution correct?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each homework includes 3 questions, worth 5 points per question, scored as follows:&lt;/p&gt;
&lt;p&gt;2 points for each initial solution being “in-good-faith”.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;2 (Strong attempt): answer reflects strong independent problem solving, with clearly thought out attempts to approach the problem and a diligent and honest effort to find the solution&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1 (Weak attempt): answer reflects some attempt to approach the problem, but approach appears to be superficial and lacks depth of analysis&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;0 (No attempt)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;3 points for the quality of the final answer / discussion.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;3 (Exceptional): answer is thorough, concise, and clearly demonstrates ability to analyze and interpret statistics as well as theoretical understanding of statistical concepts&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2 (Adequate): answer addresses the question with moderate inaccuracies in analysis and/or interpretation, or offers a correct but incomplete answer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1 (Inadequate): answer attempts to address question with substantial inaccuracies in analysis and/or interpretation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;0 (Insufficient): answer does not attempt to address question or answer is insufficient to grade&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This means that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can get 100% of the points if you either:
&lt;ul&gt;
&lt;li&gt;Submit perfectly accurate initial solutions, or&lt;/li&gt;
&lt;li&gt;Submit a perfectly accurate self-assessment,&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If you simply cannot submit any homework solutions on time, after the homework due date, you will receive the solutions key and can submit a self-assessment for a max score of 60% (3 out of 5 points per problem). We feel this is fair given that:
&lt;ul&gt;
&lt;li&gt;You did not attempt a good faith effort, and&lt;/li&gt;
&lt;li&gt;We will drop your lowest homework grade.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;what-is-a-good-faith-effort&#34;&gt;What is a &amp;ldquo;good faith effort&amp;rdquo;?
  &lt;a href=&#34;#what-is-a-good-faith-effort&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Simply submitting nonsense or saying “I can’t do this” for each problem will not meet our criteria for a good faith effort, because there is no attempt on your part to show us why you are struggling, what you tried but didn’t work, what specific part of the problem you got stuck on, which other examples in the text/lecture you tried to work through to get a grasp on the problem, etc. ^[This is especially true if you don’t attend any office hours, post on Sakai, or otherwise seek out help &lt;em&gt;before&lt;/em&gt; the due date.] The good faith effort is just that- we are interested in seeing evidence of a diligent and honest effort on your part, made with deliberate intention, to understand the problem and attempt an answer.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;In the talk I gave at JSM, I talked about self-assessments as just one out of three strategies I used to get students talking about data science. My students often had a final project and/or presentation at the end of a course, which I also think helps them to think out loud and on their feet. I sincerely hope other educators try these kinds of methods out! I can honestly say I wouldn&amp;rsquo;t teach a university-level course any other way.&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;allthree.png&#34; alt=&#34;All three strategies&#34; width=&#34;1365&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 8: All three strategies&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>How much Hugo do I need to know?</title>
      <link>https://www.apreshill.com/blog/2020-12-how-much-hugo/</link>
      <pubDate>Sat, 12 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-12-how-much-hugo/</guid>
      <description>&lt;p&gt;Greetings and happy holidays! As many folks are looking forward to down time over the holidays, my inbox naturally starts filling in with questions like &amp;ldquo;What is the difference between blogdown and X?&amp;rdquo;, &amp;ldquo;How hard is Hugo to learn?&amp;rdquo;, and &amp;ldquo;Which Hugo theme do you recommend?&amp;rdquo; These are all great questions. But the best one in my mind that one needs to ask is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;How much Hugo do I need to know &lt;em&gt;right now&lt;/em&gt;?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And the answer, of course, depends on where you are starting from and where you&amp;rsquo;d like to end up.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll share when and why I think a typical R blogdown user needs to learn Hugo. I&amp;rsquo;ll tell you a secret: I enjoyed learning Hugo. But I learned blogdown first, and frankly was blissfully unaware of the complexity of the underlying Hugo templating language. I was a happy blogdown user for about 1.5 years before taking the plunge to actually learn Hugo. Why did I do it? I needed to build a website for the RStudio Education team, and for sustainability and maintenance, I had been burned by external themes in various ways too many times for my personal site.&lt;/p&gt;
&lt;p&gt;We decided as a team that we didn&amp;rsquo;t want our site to depend on a third-party Hugo theme. What can go wrong with using third-party Hugo themes? For one, if you choose a not very active or well-maintained theme, then you could get stuck with a not well-maintained theme. Or worse, your theme could get orphaned, with no maintainer. But, on the flip-side, if you pick a very active and well-maintained theme, you might find yourself dealing with theme and Hugo updates more than you would like (&lt;em&gt;cough cough&lt;/em&gt; like the Wowchemy/Academic theme).&lt;/p&gt;
&lt;p&gt;The 
&lt;a href=&#34;https://www.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyverse.org&lt;/a&gt; site was built with a lot of custom HTML, CSS, and some Hugo layout files. I decided to turn that site into a real Hugo theme, and use that theme across teams. You may not have noticed any change 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/pull/350&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;when we switched to the new theme&lt;/a&gt;- at least I hope you didn&amp;rsquo;t! That site and the 
&lt;a href=&#34;https://education.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Education&lt;/a&gt; site both use the same Hugo theme I built.&lt;/p&gt;
&lt;p&gt;Now that I&amp;rsquo;ve gone from casual Hugo user to theme developer, I have some advice. Generally, as a blanket rule, here is what you should and should not touch:&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;An &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/blogdown?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#blogdown&lt;/a&gt; file hierarchy cheatsheet:&lt;br&gt;&lt;br&gt;├─ archetypes &amp;lt;- edit me! &lt;br&gt;├─ config.toml &amp;lt;- edit me! &lt;br&gt;├─ content &amp;lt;- edit me! &lt;br&gt;├─ data &amp;lt;- edit me! &lt;br&gt;├─ layouts &amp;lt;- edit me! &lt;br&gt;├─ public &amp;lt;- ignore me!&lt;br&gt;├─ static &amp;lt;- use me! (png/pdf/csv/xls)&lt;br&gt;├─ themes &amp;lt;- don&amp;#39;t touch! &lt;a href=&#34;https://t.co/gvVA703Lwa&#34;&gt;pic.twitter.com/gvVA703Lwa&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/1078494406301212672?ref_src=twsrc%5Etfw&#34;&gt;December 28, 2018&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt; 
&lt;!--![](https://media.giphy.com/media/l1J9wMccAykUCLIic/giphy.gif)--&gt;
&lt;p&gt;But what can you do with &lt;strong&gt;blogdown&lt;/strong&gt; before learning Hugo? When and how do you know when you need to get to know Hugo better? Hopefully this post will help answer these questions.&lt;/p&gt;
&lt;p&gt;Inspired by Jenny Bryan&amp;rsquo;s talk on 
&lt;a href=&#34;https://resources.rstudio.com/rstudio-conf-2019/lazy-evaluation&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;lazy evaluation&lt;/a&gt;, I&amp;rsquo;m framing these learning decision points based on &lt;em&gt;what you want to get done&lt;/em&gt;.&lt;/p&gt;




&lt;h2 id=&#34;you-want-to-make-a-website-with-blogdown&#34;&gt;You want to: make a website with blogdown
  &lt;a href=&#34;#you-want-to-make-a-website-with-blogdown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much Hugo:&lt;/strong&gt; Hugo takes a collection of files (called content) and generates a collection of static HTML files as a single, cohesive, navigable website (plopped in your &lt;code&gt;public/&lt;/code&gt; folder). How it looks depends on which Hugo theme you pick &lt;code&gt;r emo::ji(&amp;quot;paint&amp;quot;)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You&amp;rsquo;ll need to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/themes.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;pick a Hugo theme&lt;/a&gt;, which dictates the style and layout of your content.&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/rstudio-ide.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;build and serve your site locally&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;deploy your site! If you are just starting out, I recommend &lt;strong&gt;everyone&lt;/strong&gt; starts by first 
&lt;a href=&#34;https://app.netlify.com/drop&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;dragging and dropping&lt;/a&gt; your project&amp;rsquo;s &lt;code&gt;public/&lt;/code&gt; folder into Netlify. There is your site &lt;code&gt;r emo::ji(&amp;quot;boom&amp;quot;)&lt;/code&gt;. With a link. That you can send to your best friend &lt;em&gt;right now&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/static-sites.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;realize this is a &lt;strong&gt;static&lt;/strong&gt; site&lt;/a&gt;. Read up on static sites!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But you probably want to do more&amp;hellip;&lt;/p&gt;




&lt;h2 id=&#34;you-want-to-customize-your-site&#34;&gt;You want to: customize your site
  &lt;a href=&#34;#you-want-to-customize-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much more Hugo:&lt;/strong&gt; Hugo themes typically use one or more metadata files (TOML or YAML) to set up global variables to use to build your site. This is usually the way to add a site url, a site name, link social accounts for personal websites, basically take any of the default content you see and customize it for you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The main files to edit are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/configuration.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;configuration files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get familiar with &lt;code&gt;TOML&lt;/code&gt;, I recommend:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/configuration.html#toml-syntax&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;a brief intro from the blogdown book&lt;/a&gt;, and&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://learnxinyminutes.com/docs/toml/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Learn TOML in Y Minutes&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But, since the time we published the blogdown book, Hugo introduced configuration directories, which allowed us to no longer have one giant &lt;code&gt;config.toml&lt;/code&gt; file, and instead have multiple configuration files, like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go-text-template&#34; data-lang=&#34;go-text-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── config.toml            &amp;lt;- Hugo-defined variables
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── config
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── _default
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── menus.toml     &amp;lt;- menus :)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   └── params.toml    &amp;lt;- theme-specific variables
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is how you can think of these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;config.toml&lt;/code&gt;/&lt;code&gt;config.yaml&lt;/code&gt;: your most direct communication with Hugo. These are standard Hugo-defined variables that have defaults you can override in this file. You can view all of them 
&lt;a href=&#34;https://gohugo.io/getting-started/configuration/#all-configuration-settings&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;. These are universal across themes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;menus.toml&lt;/code&gt;: your way of editing the content in a side or upper navigation menu bar; see example 
&lt;a href=&#34;https://gohugo.io/getting-started/configuration/#all-configuration-settings&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;. These work the same way across themes (with the exception of drop-down menus, which work in some themes but not others).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;params.toml&lt;/code&gt;: your theme&amp;rsquo;s way of providing an API for Hugo. These are variables that your theme creator has made for you! This is a gift, but not the kind you can re-gift easily. This file will not work with any other theme.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your theme uses only a single &lt;code&gt;config.toml&lt;/code&gt; file, you can infer these subsections as you scroll down:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# before the first use of [[]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# are all the Hugo variables&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Menu Configuration- same as menus.toml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[[menu.main]]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Theme Configuration- same as params.toml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[params]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You still don&amp;rsquo;t need to learn Hugo&amp;hellip;yet.&lt;/p&gt;




&lt;h2 id=&#34;you-want-to-add-content-to-your-site&#34;&gt;You want to: add content to your site
  &lt;a href=&#34;#you-want-to-add-content-to-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much more Hugo:&lt;/strong&gt; Remember how the input to Hugo is a &amp;ldquo;collection of files&amp;rdquo;? The input is more specifically a collection of markdown files. Hugo themes use content written in markdown files (for blogdown users, R Markdown files work too) to generate your site&amp;rsquo;s content; with one very important rule — the same structure that works to organize your site content is used to organize the rendered site.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But, what does that &lt;strong&gt;mean&lt;/strong&gt;?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/Poaj36am3ZqaA/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The main files to edit are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;files in the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/content.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;content/&lt;/code&gt; folder&lt;/a&gt; (and see my post on 
&lt;a href=&#34;https://www.apreshill.com/post/2019-10-26-hugo-layouts/&#34;&gt;page bundles&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First, the structure and the names inside your &lt;code&gt;content/&lt;/code&gt; folder is meaningful. The &lt;strong&gt;names&lt;/strong&gt; of each folder determine what Hugo layout will be applied. Why do you care? If you change the content name, things may not look good because Hugo can&amp;rsquo;t find the right layout. Think of your site like going to a party at a friend&amp;rsquo;s house- you can bring food, wine, maybe a board game- your host knows what to do with these things. But if you bring a monkey, for example, your host has no idea what to do with it!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/JPgG1GbGnGbgBitA1Q/giphy.gif&#34; alt=&#34;monkey at party&#34;&gt;&lt;/p&gt;
&lt;p&gt;Yuo &lt;em&gt;can&lt;/em&gt; override this by adding a &lt;code&gt;layout&lt;/code&gt; key to your file&amp;rsquo;s YAML, as described 
&lt;a href=&#34;https://gohugo.io/content-management/front-matter/#front-matter-variables&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;. The relevant bit is here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;code&gt;layout&lt;/code&gt;: the layout Hugo should select from the lookup order when rendering the content. If a &lt;code&gt;type&lt;/code&gt; is not specified in the front matter, Hugo will look for the layout of the same name in the layout directory that corresponds with a content’s section.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The subfolders also tell you where you can find your content on your site.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go-text-template&#34; data-lang=&#34;go-text-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── content/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── authors/            # =&amp;gt; https://example.com/authors/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── privacy/index.md    # =&amp;gt; https://example.com/privacy/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── home/               # =&amp;gt; https://example.com/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should take a bit of time to get the &amp;ldquo;cook&amp;rsquo;s tour&amp;rdquo; of your site. Try looking at each file and guessing the URL you&amp;rsquo;ll use to see it in the rendered site. Do this now and it will become like second nature.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll no doubt run into one question: what is the difference between &lt;code&gt;index.md&lt;/code&gt; and &lt;code&gt;_index.md&lt;/code&gt; files? &lt;code&gt;index.md&lt;/code&gt; are simple pages; the single file goes into the site and a single file comes back out when you view the site. This is called a 
&lt;a href=&#34;https://gohugo.io/content-management/page-bundles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;leaf bundle&lt;/a&gt; in Hugo.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go-text-template&#34; data-lang=&#34;go-text-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── content/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── privacy/index.md       # =&amp;gt; a leaf bundle
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── blog/                  # =&amp;gt; a branch bundle
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── _index.md          # =&amp;gt; AHA!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── gorillas/index.md  # =&amp;gt; a leaf bundle
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       ├── baboons/index.md   # =&amp;gt; another leaf bundle
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── monkeys/index.md   # =&amp;gt; yet another leaf bundle
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An &lt;code&gt;_index.md&lt;/code&gt; file, on the other hand, signals that this folder has a &lt;em&gt;listing page&lt;/em&gt; activated. This is called a 
&lt;a href=&#34;https://gohugo.io/content-management/page-bundles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;branch bundle&lt;/a&gt; in Hugo. Listing pages are a bit magical, so make sure you understand them now. Typically, if you edit the &lt;code&gt;_index.md&lt;/code&gt; file at all, you edit the YAML of this file- often the page content below the YAML isn&amp;rsquo;t revealed by the theme (this is a bit hand-wavy and I&amp;rsquo;m sorry for that).&lt;/p&gt;
&lt;p&gt;So if you have &lt;code&gt;content/blog/gorillas/index.md&lt;/code&gt;, you get not one but two pages. Let&amp;rsquo;s pretend my baseurl is &lt;code&gt;alison.rbind.io&lt;/code&gt;. You get a &lt;strong&gt;list&lt;/strong&gt; page that will render at &lt;code&gt;alison.rbind.io/blog/&lt;/code&gt;, and indexes all the &lt;code&gt;index.md&lt;/code&gt; files inside that content folder. You also get a &lt;strong&gt;single&lt;/strong&gt; page that will render at &lt;code&gt;alison.rbind.io/blog/gorillas/&lt;/code&gt;, which shows you the full content of the &lt;code&gt;index.md&lt;/code&gt; file.&lt;/p&gt;




&lt;h2 id=&#34;you-want-to-customize-colors-and-fonts-on-your-site&#34;&gt;You want to: customize colors and fonts on your site
  &lt;a href=&#34;#you-want-to-customize-colors-and-fonts-on-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much more Hugo:&lt;/strong&gt; It depends on your theme :) You may need to learn CSS, and you may need to learn to &lt;em&gt;read&lt;/em&gt; Hugo now.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Many Hugo themes enable users to edit aesthetic elements like colors and fonts. So, depending on your Hugo theme, you may not need to know CSS. Other themes provide a way to “plug in” a custom CSS file to change those things and more (like spacing, font sizing, etc.). Guess where that is? Usually it is in your &lt;code&gt;config.toml&lt;/code&gt; file in the &lt;code&gt;[params]&lt;/code&gt; section (if no configuration directory) or the &lt;code&gt;params.toml&lt;/code&gt; file. The theme author should leave you a breadcrumb to figure out what you should name and where you should place your custom CSS file.&lt;/p&gt;
&lt;p&gt;For example, the Hugo academic theme provides a few ways in. In the &lt;code&gt;params.toml&lt;/code&gt; file, you can use an included 
&lt;a href=&#34;https://github.com/gcushen/hugo-academic/blob/b5963ac66c4c0400e88cd603a74d7734365f0885/exampleSite/config/_default/params.toml#L5&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;site color theme&lt;/a&gt; or make your own, and customize your fonts. You can also provide your own custom CSS file by including it here: 
&lt;a href=&#34;https://github.com/gcushen/hugo-academic/blob/master/assets/scss/custom.scss&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/gcushen/hugo-academic/blob/master/assets/scss/custom.scss&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If your theme doesn&amp;rsquo;t provide this level of support, then you may need to learn Hugo. Sometimes the options are tough to find, unfortunately, but many theme designers provide at least a plug-in option. Others may require you to dig into some of your theme&amp;rsquo;s partial layouts (i.e., &lt;code&gt;themes/theme_name/layouts/partials/&lt;/code&gt;) and learn to read them. Here are some examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Plug-in CSS&lt;/strong&gt;: Hugo 
&lt;a href=&#34;https://github.com/kakawait/hugo-tranquilpeak-theme/blob/d306f0d7f67ca5880cb97530056c59216597cd51/exampleSite/config.toml#L175-L178&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tranquil Peak&lt;/a&gt; theme tells you to place the file inside your &lt;code&gt;static/&lt;/code&gt; folder then provide the path and filename in the &lt;code&gt;config.toml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[params]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Custom CSS. Put here your custom CSS files. They are loaded after the theme CSS;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# they have to be referred from static root. Example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# [[params.customCSS]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   href = &amp;#34;css/mystyle.css&amp;#34;         &amp;lt;- AHA!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Go Fish&lt;/strong&gt;: Hugo 
&lt;a href=&#34;https://github.com/victoriadrake/hugo-theme-sam/blob/39ea2d5e64fd0426d275060cfa6c549df66cdece/layouts/partials/head/css.html#L14-L18&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;I Am Sam&lt;/a&gt; theme doesn&amp;rsquo;t give you this in the &lt;code&gt;config.toml&lt;/code&gt; file, but looking at one of the layout partials you can see that the theme is actually built to plug-in your custom CSS:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go-html-template&#34; data-lang=&#34;go-html-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;&amp;lt;!-- Custom css --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;{{&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;range&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;.Site.Params.customCSS&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;-}}&lt;/span&gt;    &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;AHA&lt;/span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;{{&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;$style&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:=&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;resources&lt;span style=&#34;color:#008080&#34;&gt;.Get&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#008080&#34;&gt;link&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;rel&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;href&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;{{&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;$style&lt;span style=&#34;color:#008080&#34;&gt;.RelPermalink&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;}}&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;integrity&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;{{&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;$style&lt;span style=&#34;color:#008080&#34;&gt;.Data.Integrity&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;}}&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;crossorigin&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;anonymous&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;media&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;screen&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;{{-&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;end&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#999;font-weight:bold;font-style:italic&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;you-want-to-renovate-the-layout-of-content-on-your-site&#34;&gt;You want to: renovate the layout of content on your site
  &lt;a href=&#34;#you-want-to-renovate-the-layout-of-content-on-your-site&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much more Hugo:&lt;/strong&gt; You need to learn to use Hugo variables.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I say renovate, but these can be anywhere from small to big renovation projects. The key word here is renovate, which in Hugo world, means you want to &lt;em&gt;override&lt;/em&gt; your site&amp;rsquo;s theme. Let&amp;rsquo;s say you want different information to show up in your 
&lt;a href=&#34;https://github.com/rbind/apreshill/commit/be80b68eec3183dea304b66eaab874d496d7d1bb&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;site&amp;rsquo;s footer&lt;/a&gt;. Or maybe you want add something new to the 
&lt;a href=&#34;https://github.com/maelle/simplymaelle/pull/10&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;metadata&lt;/a&gt; for your blog posts.&lt;/p&gt;
&lt;p&gt;Here is a great blog post to get you started:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://zwbetz.com/override-a-hugo-theme/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Override a Hugo theme&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;tl;dr:&lt;/strong&gt; If you adapt your existing theme&amp;rsquo;s Hugo layout files, be sure to make a copy of the layout you want to edit &lt;strong&gt;first&lt;/strong&gt; and add it to your project root&amp;rsquo;s &lt;code&gt;layouts/&lt;/code&gt; folder before editing. Please do not edit any files anywhere in your &lt;code&gt;themes/&lt;/code&gt; folder.&lt;/p&gt;
&lt;p&gt;Now, the hardest part of doing is often figuring out which layout file is the one you need to edit. Often you&amp;rsquo;ll need to do some digging to figure out which file is the one to touch.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go-text-template&#34; data-lang=&#34;go-text-template&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── layouts/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── _default/           # edit me!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── authors/            # edit me!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── partials/           # edit me!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── themes/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── theme_name/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── layouts
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   │   ├── _default/   # do not touch
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   │   ├── authors/    # do not touch (seriously)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   │   └── partials/   # `r emo::ji(&amp;#34;fire&amp;#34;)`
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You&amp;rsquo;ll also want to learn about Hugo 
&lt;a href=&#34;https://gohugo.io/variables/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;variables&lt;/strong&gt;&lt;/a&gt;, especially:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/variables/site/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Site variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/variables/site/#the-siteparams-variable&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The &lt;code&gt;.Site.Params&lt;/code&gt; variable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/variables/page/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Page variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/variables/page/#the-param-method&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The &lt;code&gt;.Param&lt;/code&gt; method for page variables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You also might need to understand Hugo 
&lt;a href=&#34;https://gohugo.io/templates/introduction/#logic&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;logic&lt;/a&gt; like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/introduction/#iteration&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;iteration&lt;/a&gt; and&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/introduction/#conditionals&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;conditionals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Important: I learned this the hard way, but you 
&lt;a href=&#34;https://gohugo.io/templates/introduction/#html-comments-containing-go-templates&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cannot&lt;/a&gt; wrap your Hugo code in HTML comments to deactivate it; all Hugo code even inside of HTML comments will still be evaluated when you build your site.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;you-want-to-create-your-own-hugo-theme&#34;&gt;You want to: create your own Hugo theme
  &lt;a href=&#34;#you-want-to-create-your-own-hugo-theme&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;You need to know this much more Hugo:&lt;/strong&gt; Welcome to the wizarding world of Hugo! &lt;code&gt;r emo::ji(&amp;quot;wizard&amp;quot;)&lt;/code&gt; You now need to learn to write Hugo templates.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here are some resources for writing Hugo 
&lt;a href=&#34;https://gohugo.io/templates/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;templates&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/introduction/#the-dot&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Context (aka “the dot”) &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://regisphilibert.com/blog/2018/02/hugo-the-scope-the-context-and-the-dot/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo, the scope, the context and the dot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/lookup-order/#examples-layout-lookup-for-regular-pages&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lookup order&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/base/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Base templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/single-page-templates/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Single page templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://gohugo.io/templates/lists/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;List page templates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These resources were especially helpful to me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/templates.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book section on templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/custom-layouts.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book section on customizing layouts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The 
&lt;a href=&#34;https://gohugo.io/documentation/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo docs&lt;/a&gt; are pretty strong&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://zwbetz.com/make-a-hugo-blog-from-scratch/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Make a Hugo blog from scratch | zwbetz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://discourse.gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Community Discourse Forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.mikedane.com/static-site-generators/hugo/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;All of Mike Dane&amp;rsquo;s Hugo tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I spent a lot of time looking at other Hugo themes; here are some quality ones to learn from:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://masalmon.eu/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Maëlle Salmon&amp;rsquo;s&lt;/a&gt; ROpenSci Hugo theme: 
&lt;a href=&#34;https://github.com/ropensci/roweb2/tree/master/themes/ropensci&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/ropensci/roweb2/tree/master/themes/ropensci&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://amber.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Amber Thomas&amp;rsquo;s&lt;/a&gt; Data Science Hugo theme:

&lt;a href=&#34;https://github.com/ProQuestionAsker/hugo-data-science&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/ProQuestionAsker/hugo-data-science&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://djnavarro.net/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Danielle Navarro&amp;rsquo;s&lt;/a&gt; slum Hugo theme: 
&lt;a href=&#34;https://github.com/djnavarro/hugo-slum&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/djnavarro/hugo-slum&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;My own humble Hugo theme: 
&lt;a href=&#34;https://github.com/rstudio/hugo-graphite&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rstudio/hugo-graphite&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Again, this is all just based on my own experiences- your mileage may vary as always.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The download</title>
      <link>https://www.apreshill.com/talk/2020-larug/</link>
      <pubDate>Tue, 08 Dec 2020 20:30:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-larug/</guid>
      <description>&lt;p&gt;The R Markdown family of packages has grown a lot over the past few years! While each new package is truly a bundle of joy, the past few months we have worked hard to make our family of existing packages more consistent, supportive, and intuitive. In this talk, I’ll share some of what we are up to lately and what to expect, with highlights from the distill, blogdown, bookdown, and xaringan packages.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>InspiRing InstRuction: A panel on teaching #rstats for all audiences</title>
      <link>https://www.apreshill.com/talk/2020-rladies-chicago-panel/</link>
      <pubDate>Thu, 12 Nov 2020 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rladies-chicago-panel/</guid>
      <description>&lt;p&gt;Someone in your department, company, or class comes to you and says: &amp;ldquo;I want to learn R; where do I start?&amp;rdquo; Or, &amp;ldquo;how do I take my R skills to the next level?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Come hear from 3 R-Ladies on how to make R pedagogy work for different groups of people!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>distill</title>
      <link>https://www.apreshill.com/project/distill/</link>
      <pubDate>Sun, 01 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/distill/</guid>
      <description></description>
    </item>
    
    <item>
      <title>R Markdown for Pharma</title>
      <link>https://www.apreshill.com/talk/2020-rmd4pharma/</link>
      <pubDate>Wed, 07 Oct 2020 13:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rmd4pharma/</guid>
      <description>&lt;p&gt;A four-hour workshop that will take you on a tour of how to get from data to manuscript using R Markdown. You&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The basics of Markdown and knitr&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to add tables for different outputs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Workflows for working with data&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to include and style graphics&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Presented with 
&lt;a href=&#34;https://themockup.blog/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Tom Mock&lt;/a&gt; from RStudio.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Learning without a net</title>
      <link>https://www.apreshill.com/talk/2020-latinr-learn/</link>
      <pubDate>Wed, 07 Oct 2020 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-latinr-learn/</guid>
      <description>&lt;p&gt;In this talk, I shared my experiences learning new data science skills on my own, and some broader strategies for learning when you have to do it by yourself.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Teaching in Production</title>
      <link>https://www.apreshill.com/talk/2020-rstudio-tip/</link>
      <pubDate>Wed, 23 Sep 2020 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rstudio-tip/</guid>
      <description>&lt;p&gt;This goal of this workshop is to equip educators with the tools that can help them make their teaching more robust and reproducible with R Markdown.&lt;/p&gt;
&lt;p&gt;Trainings offered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2020-09-23&lt;/li&gt;
&lt;li&gt;2020-09-20&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>RStudio Teaching in Production</title>
      <link>https://www.apreshill.com/project/rstudio-tip/</link>
      <pubDate>Wed, 23 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/rstudio-tip/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Introduction to Machine Learning with the Tidyverse</title>
      <link>https://www.apreshill.com/talk/2020-rmedicine-tidyml/</link>
      <pubDate>Thu, 27 Aug 2020 13:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rmedicine-tidyml/</guid>
      <description>&lt;p&gt;This four-hour workshop will provide a gentle introduction to machine learning with R using the modern suite of predictive modeling packages called 
&lt;a href=&#34;https://github.com/tidymodels&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt;. We will build, evaluate, compare, and tune predictive models. Along the way, we’ll learn about key concepts in machine learning including overfitting, the holdout method, the bias-variance trade-off, ensembling, cross-validation, and feature engineering. Learners will gain knowledge about good predictive modeling practices, as well as hands-on experience using tidymodels packages like 
&lt;a href=&#34;https://tidymodels.github.io/parsnip&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;parsnip&lt;/a&gt;, 
&lt;a href=&#34;https://tidymodels.github.io/rsample&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rsample&lt;/a&gt;, 
&lt;a href=&#34;https://tidymodels.github.io/recipes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;recipes&lt;/a&gt;, 
&lt;a href=&#34;https://tidymodels.github.io/yardstick/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;yardstick&lt;/a&gt;, 
&lt;a href=&#34;https://tidymodels.github.io/tune/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tune&lt;/a&gt;, and 
&lt;a href=&#34;https://tidymodels.github.io/workflows/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;workflows&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The workshop was adapted from a 2-day in-person workshop delivered at rstudio::conf(2020) in San Francisco, CA.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>palmerpenguins</title>
      <link>https://www.apreshill.com/project/palmerpenguins/</link>
      <pubDate>Thu, 11 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/palmerpenguins/</guid>
      <description></description>
    </item>
    
    <item>
      <title>How I Taught Tidymodels, Virtually</title>
      <link>https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/</link>
      <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/</guid>
      <description>&lt;p&gt;A few weeks ago, I wrapped up teaching 
&lt;a href=&#34;https://www.tidymodels.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt; for the third time. We say third time&amp;rsquo;s the charm, right? Even during a global pandemic? I don&amp;rsquo;t know, but this time around was fun in new ways and hard in new ways, so I wanted to take the time to write some thoughts down about how it went.&lt;/p&gt;




&lt;h2 id=&#34;but-why&#34;&gt;But why?
  &lt;a href=&#34;#but-why&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Why teach tidymodels virtually? I&amp;rsquo;ve already taught it as a 
&lt;a href=&#34;https://www.apreshill.com/project/tidyml&#34;&gt;2-day workshop&lt;/a&gt; at rstudio::conf(2020). I had already agreed to teach intro to machine learning with tidymodels as a full-day workshop for the Cascadia R Conf (which unfortunately was cancelled due to COVID), and the 
&lt;a href=&#34;https://www.apreshill.com/talk/2020-rmedicine-tidyml/&#34;&gt;R / Medicine conference&lt;/a&gt; (still on, and 100% virtual!).&lt;/p&gt;
&lt;p&gt;I had three main goals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, I wanted to do a good job for the R / Medicine conference workshop in August. This seemed like an interesting teaching challenge. One of the best compliments I&amp;rsquo;ve ever gotten from a colleague is that I &amp;ldquo;teach with heart&amp;rdquo; — so the challenge was, can a virtual workshop have a &amp;#x2764;&amp;#xfe0f;?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/RAAEmgtmiR3Fe/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Second, given current events, I saw an opportunity to document a good system (tooling + pedagogy + logistics) around virtual workshops. I don&amp;rsquo;t see them going away anytime soon. My colleague, 
&lt;a href=&#34;https://third-bit.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Greg Wilson&lt;/a&gt;, had also been giving our 
&lt;a href=&#34;https://education.rstudio.com/trainers/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio certified instructor&lt;/a&gt; 
&lt;a href=&#34;https://drive.google.com/drive/folders/13ohFt3D0EJ5PDbMaWTxnHH-hwA7G0IvY&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;workshops virtually&lt;/a&gt; for over a year, so I trusted that he could help me navigate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Third, help out the R / Medicine conference organizers. My partner-in-crime for this particular workshop, 
&lt;a href=&#34;https://education.rstudio.com/trainers/people/kadauke&amp;#43;stephan/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Dr. Stephan Kadauke&lt;/a&gt;, wanted to join me for some reconnaissance work. He is one of the conference organizers and will be leading his own workshop there, so he wanted to test out the tooling and the pedagogy too.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So we thought, three birds, one stone: I get to pilot a much shorter version of my conf workshop materials, we get to test doing it virtually, and the R / Medicine conference organizers learn how this could all work in August.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/oVP8LBbOv57S8/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;how-we-planned-it&#34;&gt;How we planned it
  &lt;a href=&#34;#how-we-planned-it&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Starting out, I knew I had two main hurdles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shaving two days of workshop content into &lt;code&gt;X&lt;/code&gt; days&lt;/li&gt;
&lt;li&gt;Logistics (like figuring out what &lt;code&gt;X&lt;/code&gt; should be!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first decision based on conversations with Greg was to offer the workshop across two half-days. This is how the RStudio instructor training is timed, and it works well because there are few people who can (or want to) be tied up for a full day, especially if under stay-at-home orders. We asked Stephan if his group at the 
&lt;a href=&#34;https://www.chop.edu/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Children&amp;rsquo;s Hospital of Philadelphia (CHOP)&lt;/a&gt; would be up for two 4-hour sessions. Stephan&amp;rsquo;s feedback was yes, but given that these folks at CHOP typically have weekly schedules, having two consecutive days would not work. So we opted for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Two 4-hour sessions that were&amp;hellip;&lt;/li&gt;
&lt;li&gt;exactly one week apart.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;m in Oregon, they were in Philly, so we decided to start at 9am my time (1pm for them) and wrap up at 1pm my time (5pm for them). After making this call, and again with Greg&amp;rsquo;s sage advice to 
&lt;a href=&#34;https://education.rstudio.com/blog/2020/03/teaching-online-on-short-notice/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;take a break every hour&lt;/a&gt;, I started working on a rough schedule. I had about 8 hours total to work with; about half of my conf workshop. We decided on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;50 minute chunks, and&lt;/li&gt;
&lt;li&gt;10 minute breaks at 10 till the hour every single hour.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I didn&amp;rsquo;t try to make sure my materials for each session filled exactly 50 minutes. Instead, I promised the group that I would break wherever I was at the same time, and after each break we just picked up where left off.&lt;/p&gt;
&lt;p&gt;Here was the new topic outline:&lt;/p&gt;




&lt;h3 id=&#34;day-1&#34;&gt;Day 1
  &lt;a href=&#34;#day-1&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/00-intro&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 00:&lt;/a&gt; Intro (include a tooling tour- orient to Google doc + Zoom)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/01-model&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 01:&lt;/a&gt; Build a model (mainly parsnip package)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/02-resample&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 02:&lt;/a&gt; Resample a model (add rsample package, plus tune package for &lt;code&gt;fit_resamples()&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/03-recipes&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 03:&lt;/a&gt; Build a better training set (add recipes and workflows packages)&lt;/li&gt;
&lt;/ol&gt;




&lt;h3 id=&#34;day-2&#34;&gt;Day 2
  &lt;a href=&#34;#day-2&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/04-ensemble&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 04:&lt;/a&gt; Build an ensemble model (back to parsnip, now with model arguments)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/05-tune&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 05:&lt;/a&gt; Tune a model (heavy tune package)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://tmv.netlify.app/slides/06-case-study&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Session 06:&lt;/a&gt; The Great Model-Off (a Kaggle-like group activity)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The final decision was about tooling. Luckily, Greg had advice here too. We went with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google doc as the &amp;ldquo;home page&amp;rdquo; + chat (no workshop website!)&lt;/li&gt;
&lt;li&gt;RStudio Cloud for all exercises&lt;/li&gt;
&lt;li&gt;Zoom for video&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;pre-workshop-launch-list&#34;&gt;Pre-workshop launch list
  &lt;a href=&#34;#pre-workshop-launch-list&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Make shared Google doc and prepopulate with: Zoom link, RStudio Cloud link, bulleted list of participant names (be sure to make this &lt;em&gt;editable&lt;/em&gt; for anyone!)&lt;/li&gt;
&lt;li&gt;Email everyone with a Google calendar invite that includes the Zoom link and a link to a shared Google doc (be sure to make this &lt;em&gt;editable&lt;/em&gt; for anyone!)&lt;/li&gt;
&lt;li&gt;Ask everyone to fill in their 2-sentence bios ahead of time to ensure that you&amp;rsquo;ve done this correctly!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Zoom link and the Google doc link should be the &lt;strong&gt;only&lt;/strong&gt; links that attendees see ahead of time. Then, the Google doc is the one true source for everything. Too many links at first leads to confusion later. I also prepopulated the doc with my session outline with HTML links to each session&amp;rsquo;s slide deck.&lt;/p&gt;




&lt;h2 id=&#34;actual-launch&#34;&gt;Actual launch
  &lt;a href=&#34;#actual-launch&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In Zoom, I set it up to 
&lt;a href=&#34;https://support.zoom.us/hc/en-us/articles/203435537-Mute-All-And-Unmute-All&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;mute everyone&lt;/a&gt; as they joined. We started with an 
&lt;a href=&#34;https://tmv.netlify.app/slides/00-intro&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;orientation&lt;/a&gt; of the tools, the schedule, and the general plan for how they would work and interact with each other. We tried to keep questions per session in the Google doc, which my TA Stephan fielded in real time, which now is a great resource for me as I prepare for this again in August.&lt;/p&gt;
&lt;p&gt;What I should have done:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Have a Code of Conduct. I will next time. We didn&amp;rsquo;t have any issues, but what came up later was that I asked participants to turn on their cameras. I wished that part of my Code of Conduct was that we would not videotape or take screenshots at any point to protect the privacy of all participants.&lt;/li&gt;
&lt;li&gt;Asked folks to make sure they had an updated version of Zoom. In particular, some newer security issues have been addressed recently, so this is nice for everyone to take advantage of. Plus the interface looked different for some.&lt;/li&gt;
&lt;li&gt;Locked down the Zoom room. After a few minutes of starting, it was super distracting to have late arrivals who kept sending me personal chats asking for the links.&lt;/li&gt;
&lt;li&gt;In addition to locking down after the first 10-15 minutes, I also should have assigned my TA as a 
&lt;a href=&#34;https://support.zoom.us/hc/en-us/articles/206330935-Enabling-and-adding-a-co-host&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;co-host&lt;/a&gt;, so that he could have helped me manage that. We did this on day 2 and it worked great.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;how-did-it-go&#34;&gt;How did it go?
  &lt;a href=&#34;#how-did-it-go&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So, I&amp;rsquo;m not going to lie here. The first session of teaching spooked me a bit. This was because all attendees left their videos off and I felt like:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/AEMyf9Oj6MpS8/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;It was eerie to teach to a silent void. On day 2, I asked for two volunteers to turn on their cameras for a single 50 minute block each because it really helped me to see faces. Participants probably kept their own view as &amp;ldquo;speaker only&amp;rdquo;, but for me it really helped to be able to have some human feedback, even if they were muted. Much love to the head nodders out there. This conversation on day 2 broke my heart though, because several participants indicated they felt they couldn&amp;rsquo;t turn on their cameras because they had young children at home. It is &lt;strong&gt;hard&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Interestingly, the participants didn&amp;rsquo;t sense my discomfort at all. In fact, I heard from several that it was nice to see me up close and so personal. It actually felt &lt;em&gt;more personal&lt;/em&gt; than a large in-person workshop, to my surprise.&lt;/p&gt;
&lt;p&gt;On day 1, I started by asking participants to use Zoom reactions (like thumbs up) to answer questions, give me progress updates, etc. I ended up retiring this- it was distracting and the reactions disappear so it wasn&amp;rsquo;t actually useful. Instead, I asked people to use the Zoom chat to indicate &amp;ldquo;done&amp;rdquo; or give quick one-word answers (a or b, yes or no).&lt;/p&gt;
&lt;p&gt;Stephan also had a great idea for the breaks. On day 2, I started using Garrick Aden-Buie&amp;rsquo;s 
&lt;a href=&#34;https://pkg.garrickadenbuie.com/countdown/#29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;countdown app&lt;/a&gt; to show the 10 minute break countdown full-screen. I used the hosted version 
&lt;a href=&#34;https://apps.garrickadenbuie.com/countdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h2 id=&#34;what-can-i-do-better&#34;&gt;What can I do better?
  &lt;a href=&#34;#what-can-i-do-better&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Logistically, I got really frustrated because I kept losing my Zoom meeting controls. Later I found out about this accessibility setting, which would have helped!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;zoom-controls.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;More substantively, as I mentioned, I would have a Code of Conduct at the very beginning. I also think virtual workshops offer a unique opportunity to include some more creative exercise types. Here are a few I brainstormed with Greg Wilson after the fact—expect to see these at R / Medicine if you attend with me!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Spot the bug- do in groups&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unscramble code&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Predict what is going to happen&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill in the blank with the 
&lt;a href=&#34;https://education.rstudio.com/blog/2020/05/flair/#example-3--mask-code-for-easy-practice-activities&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;flair package&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/13eay0HFG25jy0/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;verdict&#34;&gt;Verdict
  &lt;a href=&#34;#verdict&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Transitioning from primarily teaching in person to teaching virtually is &lt;em&gt;hard&lt;/em&gt;, and I&amp;rsquo;m in awe of 
&lt;a href=&#34;https://education.rstudio.com/blog/2020/05/remote-roundup/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;all the instructors&lt;/a&gt; I know who have had to do this on very short notice. But, can it be done with heart? Yes, I think so &amp;#x2764;&amp;#xfe0f;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/v9tIehXauaCbK/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;thanks&#34;&gt;Thanks
  &lt;a href=&#34;#thanks&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Thanks to the participants, who were the loveliest guinea pigs. It is a hard time to learn and a hard time to find time. I appreciate that you took time out of your lives to spend 8 hours with me.&lt;/p&gt;
&lt;p&gt;Thanks also to 
&lt;a href=&#34;https://third-bit.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Greg Wilson&lt;/a&gt; for his support, and 
&lt;a href=&#34;https://www.chop.edu/doctors/kadauke-stephan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Stephan Kadauke&lt;/a&gt; for being an awesome co-pilot. Extra special thanks to 
&lt;a href=&#34;https://desiree.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Desirée De Leon&lt;/a&gt;, who has the biggest heart of all. Knowing that I didn&amp;rsquo;t have time for creativity with my slides, she surprised me with the most beautiful xaringan slide deck theme based on 
&lt;a href=&#34;https://www.tidymodels.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels.org&lt;/a&gt;. I merged in her PR &lt;em&gt;with glee and delight&lt;/em&gt;, I know the participants felt those same emotions too (while learning about machine learning, no less!) &amp;#x1f33c;&lt;/p&gt;








  
  


&lt;div class=&#34;gallery&#34;&gt;

  
  
  
  
    
    
    
    
    
  &lt;a data-fancybox=&#34;gallery-slides&#34; href=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.05%20PM.png&#34; &gt;
  &lt;img data-src=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.05%20PM_hu39f20925eceef0a4ef394f0d6491d69a_880214_0x190_resize_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;190&#34;&gt;
  &lt;/a&gt;
  
    
    
    
    
    
  &lt;a data-fancybox=&#34;gallery-slides&#34; href=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.51%20PM.png&#34; &gt;
  &lt;img data-src=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.51%20PM_hu39f20925eceef0a4ef394f0d6491d69a_625188_0x190_resize_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;190&#34;&gt;
  &lt;/a&gt;
  
    
    
    
    
    
  &lt;a data-fancybox=&#34;gallery-slides&#34; href=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.58%20PM.png&#34; &gt;
  &lt;img data-src=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.53.58%20PM_hu39f20925eceef0a4ef394f0d6491d69a_2016369_0x190_resize_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;190&#34;&gt;
  &lt;/a&gt;
  
    
    
    
    
    
  &lt;a data-fancybox=&#34;gallery-slides&#34; href=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.54.06%20PM.png&#34; &gt;
  &lt;img data-src=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.54.06%20PM_hu39f20925eceef0a4ef394f0d6491d69a_1465115_0x190_resize_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;190&#34;&gt;
  &lt;/a&gt;
  
    
    
    
    
    
  &lt;a data-fancybox=&#34;gallery-slides&#34; href=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.54.41%20PM.png&#34; &gt;
  &lt;img data-src=&#34;https://www.apreshill.com/blog/2020-06-how-i-taught-tidymodels-virtually/slides/Screen%20Shot%202020-06-01%20at%2011.54.41%20PM_hu39f20925eceef0a4ef394f0d6491d69a_215254_0x190_resize_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;190&#34;&gt;
  &lt;/a&gt;
  

  
&lt;/div&gt;




&lt;h2 id=&#34;feedback&#34;&gt;Feedback
  &lt;a href=&#34;#feedback&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you are curious, here is some of the feedback I collected at the bottom of our Google doc:&lt;/p&gt;




&lt;h3 id=&#34;two-half-days&#34;&gt;Two half days?
  &lt;a href=&#34;#two-half-days&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;worked well for me. A full day would be tough.&lt;/li&gt;
&lt;li&gt;Worked well for me also and I also think having all in one day would be a lot.&lt;/li&gt;
&lt;li&gt;worked well.&lt;/li&gt;
&lt;li&gt;worked well for me too.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;separated-by-one-week&#34;&gt;Separated by one week?
  &lt;a href=&#34;#separated-by-one-week&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;seemed fine.&lt;/li&gt;
&lt;li&gt;I liked this!&lt;/li&gt;
&lt;li&gt;good. Enough time to digest the previous session&lt;/li&gt;
&lt;li&gt;yes.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;pace-too-fast-too-slow&#34;&gt;Pace: too fast, too slow?
  &lt;a href=&#34;#pace-too-fast-too-slow&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;good pace&lt;/li&gt;
&lt;li&gt;I liked the pace. It felt like we covered a lot of ground quickly, but also like we have great resources to come back to for refreshing on what we learned.&lt;/li&gt;
&lt;li&gt;good pace, except at “data leakage”. I still have hard time to understand that part.&lt;/li&gt;
&lt;li&gt;good pace.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;scope-too-small-too-big&#34;&gt;Scope: too small, too big?
  &lt;a href=&#34;#scope-too-small-too-big&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;nice scope&lt;/li&gt;
&lt;li&gt;Nice scope&lt;/li&gt;
&lt;li&gt;very nice and practical.&lt;/li&gt;
&lt;li&gt;nice scope.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;timing-in-50-min-chunks-too-many-or-too-few-breaks&#34;&gt;Timing in 50 min chunks: too many or too few breaks?
  &lt;a href=&#34;#timing-in-50-min-chunks-too-many-or-too-few-breaks&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The 50 min chunks were great! I thought perfect length.&lt;/li&gt;
&lt;li&gt;Perfect break up. And the 10 min breaks gave enough time to make tea, grab a snack, etc.&lt;/li&gt;
&lt;li&gt;I am fine with that.&lt;/li&gt;
&lt;li&gt;works well.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;timed-code-exercises-too-easy-too-hard&#34;&gt;Timed code exercises: too easy, too hard?
  &lt;a href=&#34;#timed-code-exercises-too-easy-too-hard&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;good&lt;/li&gt;
&lt;li&gt;Neither, I thought they were appropriate&lt;/li&gt;
&lt;li&gt;good.&lt;/li&gt;
&lt;li&gt;good.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;in-between-homeworkreading&#34;&gt;In-between homework/reading?
  &lt;a href=&#34;#in-between-homeworkreading&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;maybe some light reading or practice&lt;/li&gt;
&lt;li&gt;In theory I think I would have liked some ‘homework’, but the week turned out to be so busy that I don’t know if I would’ve made time to complete it before the workshop.&lt;/li&gt;
&lt;li&gt;will be helpful to give some reading about different model descriptions in-between.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;final-take-home-project---feedback&#34;&gt;Final take-home project (+/- feedback)?
  &lt;a href=&#34;#final-take-home-project---feedback&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;optional&lt;/li&gt;
&lt;li&gt;I think this could be fun if we had access to a few different datasets to choose from. With maybe some pointers on what to look out for as we explore the data. Is it unbalanced? Could any two variables be collinear? Etc.&lt;/li&gt;
&lt;li&gt;i would vote for take-home project to play with.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;zoom-video-onoff&#34;&gt;Zoom: video on/off?
  &lt;a href=&#34;#zoom-video-onoff&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I find video distracting while working/listening/learning.&lt;/li&gt;
&lt;li&gt;I like being able to see the presenter/speaker’s video. I tend to choose “Speaker View” so that I don’t see all the participant videos (which I would find distracting).&lt;/li&gt;
&lt;li&gt;i am fine with either. I know, from the speaker’s perspective, it will be good to have video on.&lt;/li&gt;
&lt;li&gt;I think it was nice and respectful to ask volunteers to turn video on part time! (Kudos to Stephan for having it on the whole time!)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;google-doc-as-our-home-page-and-discussion-forum&#34;&gt;Google doc as our “home page” and “discussion forum”?
  &lt;a href=&#34;#google-doc-as-our-home-page-and-discussion-forum&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Great!&lt;/li&gt;
&lt;li&gt;Yes! I thought it was a really helpful tool and ‘homebase’ to come to for all of the things (slides, R Studio Cloud project, etc.)&lt;/li&gt;
&lt;li&gt;very good! Much easier to track.&lt;/li&gt;
&lt;li&gt;works!&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;rstudiocloud&#34;&gt;Rstudio.cloud?
  &lt;a href=&#34;#rstudiocloud&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;pretty good except for crashing at end.&lt;/li&gt;
&lt;li&gt;ditto.&lt;/li&gt;
&lt;li&gt;I really enjoyed using R Studio Cloud. It makes it easier when I don’t have to worry about pre-installing packages or updating my version of R in order to go into a workshop. Having everything already set up for you in there is super convenient.&lt;/li&gt;
&lt;li&gt;I like Rstudio cloud generally. Just not suitable for complicated model training.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>How I Teach R Markdown</title>
      <link>https://www.apreshill.com/blog/2020-05-how-i-teach-r-markdown/</link>
      <pubDate>Thu, 28 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-05-how-i-teach-r-markdown/</guid>
      <description>&lt;p&gt;Ah, 
&lt;a href=&#34;https://rmarkdown.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R Markdown&lt;/a&gt;. I love teaching R Markdown. But this was not a love at first sight story. When I first started teaching with R at Oregon Health &amp;amp; Science University many moons ago, my students used R Markdown for their homework assignments and in-class labs. This is a great way to start for beginners, to be honest- just use it! I found that most people are not very disoriented by a file that mixes text and code; a concern I had at first and one that I’ve heard voiced by other educators. It seems natural to use if it is your first exposure to &lt;em&gt;all the data science things&lt;/em&gt;, especially if you’ve never used an R script.&lt;/p&gt;
&lt;p&gt;I did notice, though, that over the course of even just a few weeks, many of my students would reach unbearable levels of R Markdown curiosity. I would see signs of growing pains in their assignments, like how can I turn off these messages and warnings when I load packages? This is so long- how can I make it easier to find things? How can I make it look &lt;em&gt;better&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;For all learners, there comes an uncomfortable point where you simply cannot just continue to use this awesome tool without learning how to use it. And I realized when I was teaching that ultimately it was unfair of me to assume that they would just learn an entire ecosystem while I stood idly by, clutching the secrets of being an 
&lt;a href=&#34;https://twitter.com/sharlagelfand/status/1114264529477799937?s=20&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“R Markdown Whisperer”&lt;/a&gt; close to my chest.&lt;/p&gt;
&lt;p&gt;Like, &lt;strong&gt;why can’t you just find the piñata, kid&lt;/strong&gt;? But more importantly, what happens when you can’t? I think the risk is that learners either won’t like or won’t appreciate a tool that I genuinely 
&lt;a href=&#34;https://community.rstudio.com/t/convince-me-to-start-using-r-markdown/1636/7&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;think would make their working lives better&lt;/a&gt;. If I believed it was worth their time to use it, it was worth my time to teach it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/xFcFJAryrhO6s/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;So like any good educator, I evolved. I decided that the next year, I would teach R Markdown. And I did. I went from:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Just use it”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/pHiWkDofYnRv2/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;To:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Just tell them how to use it already”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/3o7TKvFKwclJQDY30A/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I waited until a few weeks into a quarter, and I spent a full lab period walking students through “Hey- this bit where you put the title of each assignment and your name? That’s called YAML! Here is what it does…” I showed them how to use 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/html-document.html#appearance-and-style&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bootswatch themes&lt;/a&gt;, make a 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/html-document.html#table-of-contents&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;floating table of contents&lt;/a&gt;, control their output using the power of 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/r-code.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;knitr&lt;/a&gt; code chunks and chunk options.&lt;/p&gt;
&lt;p&gt;Guess what happened? The next batch of assignment my TA team and I received were…stunning. Creative. Beautiful. Thoughtful and thought-provoking. Students had taken care with their markdown headers, they played with flatly/yeti/united, they cared about not printing the giant output of a code chunk. It was a thing of beauty. I remember one of my beloved TAs, 
&lt;a href=&#34;https://grace.rbind.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Grace Lawley&lt;/a&gt;, commenting that one star student’s homework “brought tears to her eyes” (and yes, I trained Grace too as she was also my research assistant, so she was already baptized into the R Markdown family).&lt;/p&gt;
&lt;p&gt;But I have to admit, the first time I taught it, I had a hard time teaching it! I realized that I lacked vocabulary around things I used everyday, but had never really talked about out loud with anyone &lt;em&gt;in words&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Now, in my role at RStudio, I’ve devoted a lot of time and energy trying to figure out how we can make R Markdown easier- easier to discover, easier to debug, easier to use, and easier to talk about.&lt;/p&gt;
&lt;p&gt;So without further ado, here are some of my guiding principles when introducing R Markdown to beginners, for those who are ready to go beyond casual knitter:&lt;/p&gt;




&lt;h2 id=&#34;1-make-it-make-it-again&#34;&gt;#1. Make it. Make it again.
  &lt;a href=&#34;#1-make-it-make-it-again&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Knit early. Knit often. That means starting with a pre-filled Rmd document usually that you know &lt;em&gt;will&lt;/em&gt; knit. How do you motivate repeated knitting and make it satisfying? Teach the basics of output formats and options by editing mainly the YAML. Your goal is to show how small effort –&amp;gt; high polish. For single docs, I love 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/html-document.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;html_document()&lt;/code&gt;&lt;/a&gt; with a floating table of contents and a theme (like 
&lt;a href=&#34;https://rstudio-education.github.io/sharing-short-notice/#24&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;this&lt;/a&gt;), switching quickly to 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/bookdown-output.html#a-single-document&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;bookdown::html_document2()&lt;/code&gt;&lt;/a&gt; and &lt;code&gt;distill::distill_article()&lt;/code&gt;. The latter two also enable automated figure numbering, which for scientific audiences is quite nice!&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;You can do something like this with &lt;a href=&#34;https://twitter.com/hashtag/rmarkdown?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rmarkdown&lt;/a&gt;. Ask students to knit to HTML, then use the bootswatch themes &lt;a href=&#34;https://t.co/J9ucdRWnIl&#34;&gt;https://t.co/J9ucdRWnIl&lt;/a&gt;&lt;br&gt;&lt;br&gt;Bonus: you get the prettiest &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; homeworks after this! 💐🖍️&lt;br&gt;---&lt;br&gt;title: &amp;quot;Habits&amp;quot; &lt;br&gt;output:   &lt;br&gt;    html_document:     &lt;br&gt;         theme: flatly&lt;br&gt;--- &lt;a href=&#34;https://t.co/wMQ3Uqhc7s&#34;&gt;https://t.co/wMQ3Uqhc7s&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/1101866080996212736?ref_src=twsrc%5Etfw&#34;&gt;March 2, 2019&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;p&gt;Bonus when using a &lt;code&gt;theme&lt;/code&gt; with &lt;code&gt;html_document()&lt;/code&gt;: show off the &lt;code&gt;code_download&lt;/code&gt; output option!&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;TIL you can embed a &amp;quot;code download&amp;quot; button in an HTML &lt;a href=&#34;https://twitter.com/hashtag/rmarkdown?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rmarkdown&lt;/a&gt; doc so that users can click to download your source .Rmd from the rendered HTML version...without GitHub 🤩 &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt;&lt;br&gt;&lt;br&gt;YAML:&lt;br&gt;&lt;br&gt;---&lt;br&gt;output:&lt;br&gt;  html_document:&lt;br&gt;    code_download: true&lt;br&gt;---&lt;br&gt;&lt;br&gt;Test: &lt;a href=&#34;https://t.co/bp7w7XKF8b&#34;&gt;https://t.co/bp7w7XKF8b&lt;/a&gt; &lt;a href=&#34;https://t.co/uMQK0mvYcF&#34;&gt;pic.twitter.com/uMQK0mvYcF&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/1108925218850893832?ref_src=twsrc%5Etfw&#34;&gt;March 22, 2019&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;




&lt;h2 id=&#34;2-make-it-pretty&#34;&gt;#2. Make it pretty.
  &lt;a href=&#34;#2-make-it-pretty&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The starting Rmd should have a nice 
&lt;a href=&#34;https://ggplot2.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ggplot2&lt;/a&gt; graphic in there, and maybe a pretty 
&lt;a href=&#34;https://gt.rstudio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;gt&lt;/a&gt; table too. This is a motivational, aspirational document! I also try to use local data sets, so they can see how that actually works, as opposed to using a data package.&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Never underestimate the power of being able to make pretty &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; things. ⬆️ polish/effort ratio ➡️ happier users 🦚 &lt;a href=&#34;https://t.co/LMbFRUiuLa&#34;&gt;https://t.co/LMbFRUiuLa&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/1101978567842291712?ref_src=twsrc%5Etfw&#34;&gt;March 2, 2019&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;




&lt;h2 id=&#34;3-make-it-snappy&#34;&gt;#3. Make it snappy.
  &lt;a href=&#34;#3-make-it-snappy&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I aim to get to a shareable link in the first 20 minutes (at most!). I like to use 
&lt;a href=&#34;https://app.netlify.com/drop&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify Drop&lt;/a&gt; for this. No account sign-up needed, and everyone knows how to drag-and-drop (see video below). It is very satisfying to get a link they can share with their mom/best friend/arch nemesis (kidding). I like to have everyone drop their links in a chat too, like a Slack, Google Doc, or a Gitter channel if doing a workshop. My favorite motto: &lt;em&gt;“if it knits, it ships”&lt;/em&gt;&lt;/p&gt;
&lt;iframe src=&#34;https://rstudio-education.github.io/sharing-short-notice/images/single-doc-dnd.mp4&#34; width=&#34;672&#34; height=&#34;400px&#34; data-external=&#34;1&#34;&gt;
&lt;/iframe&gt;




&lt;h2 id=&#34;4-make-it-real&#34;&gt;#4. Make it real.
  &lt;a href=&#34;#4-make-it-real&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Teach folks what they need to know to actually use the tool productively in real life. If you are an avid R Markdown user, this means that you &lt;em&gt;know&lt;/em&gt; without a doubt that file paths will eventually be painful, for example. At the end of an intro, I go back and highlight things I just used to make sure they notice them like R Projects and the here package for data importing. I also love a good 
&lt;a href=&#34;https://rmd4medicine.netlify.app/slides/01-rmd-anatomy.html#77&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“Your Turn”&lt;/a&gt; exercise where you get a fresh data dump and all they have to do is re-knit. As in, “Surprise! Now instead of 3 sites, you have data from all 6 sites- what do you do?”&lt;/p&gt;




&lt;h2 id=&#34;5-make-it-easy&#34;&gt;#5. Make it easy.
  &lt;a href=&#34;#5-make-it-easy&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;People will only keep using R Markdown if they see it making their life easier. So show them how. For example, the RStudio IDE has some very nice built-in features that make it much easier to be an R Markdown user. I point out things having a 
&lt;a href=&#34;https://apreshill.github.io/rmd4cdc/#112&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;global setup chunk&lt;/a&gt;, and IDE features like:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://rmd4medicine.netlify.app/slides/images/rmd-nav.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;what-do-i-save-until-later&#34;&gt;What do I save until later?
  &lt;a href=&#34;#what-do-i-save-until-later&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Rendering with &lt;code&gt;render()&lt;/code&gt;. I think knitting in the RStudio IDE can get you very far- this I consider an intermediate to advanced concept that is confusing if introduced too early. I’ve never heard someone say &lt;em&gt;“Well there is this simple button, but how can I do the same thing from the command line?”&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/parameterized-reports.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Parameterized reports&lt;/a&gt;. I actually &lt;em&gt;do&lt;/em&gt; use parameters though! I’ll have at least one or two often in one of my Rmds, and mention them briefly in my wrap-up. I teach parameters explicitly with actual exercises when I have &amp;gt; 1 hour.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Multiple Rmd output formats. I tend to start with single output formats first. If I have &amp;gt; 1.5 hours and it matches my learning objectives, then I happily oblige- I love teaching 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/books.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bookdown&lt;/a&gt;, 
&lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/websites.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown&lt;/a&gt;, and 
&lt;a href=&#34;https://rstudio.github.io/distill/website.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;distill websites&lt;/a&gt;. But to start, I stay single.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Markdown. I skim markdown, and always provide a link to an interactive tutorial. This 
&lt;a href=&#34;https://commonmark.org/help/tutorial/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;one&lt;/a&gt; is my favorite. Teaching markdown can be…dry. I show some bits on the slides because I cannot count on everyone doing the interactive tutorial ahead of time, but I do not linger much.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/U7Uxq9Lyz02oStvUIE/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you are curious to see some of the materials I’ve used to teach R Markdown, click on the &lt;code&gt;rmarkdown&lt;/code&gt; button just below this post!&lt;/p&gt;
&lt;p&gt;But remember: there is no one way to learn R Markdown, and no one way to teach it either. I love seeing the creativity of the community when introducing the R Markdown family- so keep them coming!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/Q86zzvI3UUCADQCF0h/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>An Introduction to R Markdown for the CDC</title>
      <link>https://www.apreshill.com/talk/2020-rmd4cdc/</link>
      <pubDate>Wed, 13 May 2020 14:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rmd4cdc/</guid>
      <description>&lt;p&gt;R Markdown is an authoring format that enables easy creation of dynamic documents, presentations, and reports from R. It combines the core syntax of markdown with embedded R code chunks that are run so their output can be included in the final document. R Markdown documents are fully reproducible and can be updated whenever underlying R code or data changes.&lt;/p&gt;
&lt;p&gt;This is a great opportunity to learn and get inspired about the capabilities for generating reports in R.&lt;/p&gt;
&lt;p&gt;This session will introduce flexible and powerful tools for sharing your research and reports, covering topics like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The basics of R Markdown and knitting&lt;/li&gt;
&lt;li&gt;Output formats&lt;/li&gt;
&lt;li&gt;Working with data&lt;/li&gt;
&lt;li&gt;Adding text&lt;/li&gt;
&lt;li&gt;Adding code&lt;/li&gt;
&lt;li&gt;Adding tables&lt;/li&gt;
&lt;li&gt;Adding plots&lt;/li&gt;
&lt;li&gt;Options for sharing R Markdown reports&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The talk will introduce R Markdown and include an overview of the core content types one can create, such as websites, PDF&amp;rsquo;s, PowerPoints, and more.&lt;/p&gt;
&lt;p&gt;No prior knowledge of R or RStudio is needed to attend this session. There is no registration required for this Webinar.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>tidymodels.org</title>
      <link>https://www.apreshill.com/project/tidymodels.org/</link>
      <pubDate>Tue, 21 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/tidymodels.org/</guid>
      <description>&lt;p&gt;The tidymodels framework is a collection of R packages for modeling and machine learning using tidyverse principles. This website was built with Hugo, using a theme I developed and maintain. I worked with my former intern, 
&lt;a href=&#34;https://desiree.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Desirée De Leon&lt;/a&gt;, to design the style of the website.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>stat545.com</title>
      <link>https://www.apreshill.com/project/stat545.com/</link>
      <pubDate>Tue, 21 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/stat545.com/</guid>
      <description>&lt;p&gt;This online book contains a full course where users can learn to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;explore, groom, visualize, and analyze data,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;make all of that reproducible, reusable, and shareable,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;using R.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I led the effort, along with course author 
&lt;a href=&#34;https://jennybryan.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jenny Bryan&lt;/a&gt; and RStudio intern 
&lt;a href=&#34;https://grace.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Grace Lawley&lt;/a&gt;, to port a vintage R Markdown website into bookdown. I worked with my former intern, 
&lt;a href=&#34;https://desiree.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Desirée De Leon&lt;/a&gt;, to design the style of the bookdown website.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Sharing on Short Notice</title>
      <link>https://www.apreshill.com/talk/2020-sharing-short-notice/</link>
      <pubDate>Tue, 31 Mar 2020 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-sharing-short-notice/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This webinar was designed to help educators who needed to quickly transition to remote teaching due to COVID-19.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Educators create a lot of files for teaching- slides, exercises, solutions, assignments, data, figures- that all ultimately need to be shared with other people. Having a link for sharing your teaching materials can save you time and pain, but it is hard to get started if you’ve never shared your resources online before. In this webinar, we’ll give a tour of the R Markdown ecosystem for educators that you can start to use right away. We’ll show how it can help you make your teaching more shareable, reproducible, and resilient.&lt;/p&gt;
&lt;p&gt;Read the accompanying Q&amp;amp;A blog post on the 
&lt;a href=&#34;https://education.rstudio.com/blog/2020/04/sharing-on-short-notice/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio Education blog&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Take a Sad Script &amp; Make it Better: Tidymodels Edition</title>
      <link>https://www.apreshill.com/blog/2020-02-take-a-sad-script-make-it-better-tidymodels-edition/</link>
      <pubDate>Thu, 27 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2020-02-take-a-sad-script-make-it-better-tidymodels-edition/</guid>
      <description>&lt;p&gt;A few years ago, I did a talk called 
&lt;a href=&#34;https://www.apreshill.com/talk/2018-ohsu-sad-plot-better/&#34;&gt;&amp;ldquo;Take a Sad Plot &amp;amp; Make it Better,&amp;rdquo;&lt;/a&gt; where I showed how I took a single sad plot and tried to make it better. The process of making that plot better taught me a lot about data visualization, and about the 
&lt;a href=&#34;https://ggplot2.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ggplot2 package&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fast-forward to 2019 when I started learning 
&lt;a href=&#34;https://github.com/tidymodels/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt;, and I have accumulated some pretty sad predictive modeling scripts! And my sad plots are not so lonely anymore. Specifically, my old scripts for doing cross-validation with tidymodels are particularly sad. But, I&amp;rsquo;ve been able to make them better (one might even call them happy), primarily due to changes in the 
&lt;a href=&#34;https://tidymodels.github.io/tune/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tune package&lt;/a&gt; and the addition of the &lt;code&gt;fit_resamples()&lt;/code&gt; function. The process of making these scripts better taught me a lot about predictive modeling, and about the (evolving) tidymodels ecosystem. So, why write a blog post with outdated code?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I want to remember &lt;em&gt;that&lt;/em&gt; I did this &amp;ldquo;by hand.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;I want to remember &lt;em&gt;how&lt;/em&gt; I did this &amp;ldquo;by hand.&amp;rdquo; The code still works, even if there is now a happier path to doing the same thing.&lt;/li&gt;
&lt;li&gt;I want to share cute penguin art and gifs.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s start with some 
&lt;a href=&#34;http://www.greenhumour.com/2018/04/penguins-of-world.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cute penguin art&lt;/a&gt; by Rohan Chakravarty&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.greenhumour.com/2018/04/penguins-of-world.html&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;penguins-of-the-world.JPG&#34; width=&#34;270&#34; style=&#34;display: block; margin: auto;&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My objective here is &lt;strong&gt;not&lt;/strong&gt; to provide an introduction to using tidymodels, cross-validation, or to machine learning. If that is what you came for, check out the project button at the top of this post for my workshop materials for learners, and my 
&lt;a href=&#34;https://education.rstudio.com/blog/2020/02/conf20-intro-ml/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;associated blog post&lt;/a&gt; on the RStudio education site.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    &lt;strong&gt;Bottom line:&lt;/strong&gt; If you are stumbling upon this blog post in the year 2020 or beyond, know that there is a better way!
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;a-sad-script-symphony---&#34;&gt;A sad script symphony 🎻 🎷 🎹
  &lt;a href=&#34;#a-sad-script-symphony---&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not the first person to write sad tidymodels scripts- there are many out in the wild. Here were the blog posts that I found most helpful when trying to solve this particular coding conundrum:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://towardsdatascience.com/modelling-with-tidymodels-and-parsnip-bae2c01c131c&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Modelling with Tidymodels and Parsnip: A Tidy Approach to a Classification Problem&lt;/a&gt; by Diego Usai&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.brodrigues.co/blog/2018-11-25-tidy_cv/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A tutorial on tidy cross-validation with R&lt;/a&gt; by Bruno Rodrigues&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.benjaminsorensen.me/post/modeling-with-parsnip-and-tidymodels/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Modeling with parsnip and tidymodels&lt;/a&gt; by Benjamin Sorensen&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;packages&#34;&gt;Packages
  &lt;a href=&#34;#packages&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(tidyverse)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(tidymodels)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(rpart)  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# for decision tree&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(ranger) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# for random forest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;data&#34;&gt;Data
  &lt;a href=&#34;#data&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m going to use data that Allison Horst helped me source on penguins from the 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Palmer_Station&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Palmer Station&lt;/a&gt; (Antarctica) 
&lt;a href=&#34;https://lternet.edu/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Long Term Ecological Research Network&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;sooo now I&amp;rsquo;m just looking at penguin pictures&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://twitter.com/allison_horst?lang=en&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Allison Horst&lt;/a&gt; after slacking me this penguin data&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    &lt;strong&gt;Update!&lt;/strong&gt; We have bundled the Palmer Station penguins data into an R data package named palmerpenguins. Enjoy &amp;#x1f427; Here is the package website: 
&lt;a href=&#34;https://allisonhorst.github.io/palmerpenguins/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://allisonhorst.github.io/palmerpenguins/&lt;/a&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;remotes&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# to install from github&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remotes&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;allisonhorst/palmerpenguins&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://allisonhorst.github.io/palmerpenguins/reference/figures/logo.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;After you&amp;rsquo;ve installed the package, load it and read about the variables with &lt;code&gt;?penguins&lt;/code&gt;. We&amp;rsquo;ll modify this dataset lightly by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;casting all characters as factors,&lt;/li&gt;
&lt;li&gt;dropping any observations with missing data, and&lt;/li&gt;
&lt;li&gt;dropping the &lt;code&gt;island&lt;/code&gt; variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(palmerpenguins)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tidypenguins &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; penguins &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;select&lt;/span&gt;(&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;island) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;drop_na&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;glimpse&lt;/span&gt;(tidypenguins)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Rows: 333&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Columns: 7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ species           &amp;lt;fct&amp;gt; Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Ade…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ bill_length_mm    &amp;lt;dbl&amp;gt; 39.1, 39.5, 40.3, 36.7, 39.3, 38.9, 39.2, 41.1, 38.…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ bill_depth_mm     &amp;lt;dbl&amp;gt; 18.7, 17.4, 18.0, 19.3, 20.6, 17.8, 19.6, 17.6, 21.…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ flipper_length_mm &amp;lt;int&amp;gt; 181, 186, 195, 193, 190, 181, 195, 182, 191, 198, 1…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ body_mass_g       &amp;lt;int&amp;gt; 3750, 3800, 3250, 3450, 3650, 3625, 4675, 3200, 380…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ sex               &amp;lt;fct&amp;gt; male, female, female, female, male, female, male, f…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; $ year              &amp;lt;int&amp;gt; 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 200…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;penguins&#34;&gt;Penguins
  &lt;a href=&#34;#penguins&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;https://allisonhorst.github.io/palmerpenguins/man/figures/lter_penguins.png&#34; alt=&#34;Artwork by @allisonhorst&#34; width=&#34;50%&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 1: Artwork by @allisonhorst&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This data included structural size measurements of penguins like their bill length, flipper length, and body mass. It also included each penguin&amp;rsquo;s species and sex. I&amp;rsquo;m going to use this data to try to predict penguin body mass. Sadly, we only have data for three distinct penguin species:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tidypenguins &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;count&lt;/span&gt;(species)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 3 x 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   species       n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;fct&amp;gt;     &amp;lt;int&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 Adelie      146&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 2 Chinstrap    68&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 3 Gentoo      119&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is a lineup:&lt;/p&gt;
&lt;img src=&#34;https://www.bas.ac.uk/wp-content/uploads/2015/04/Penguin-heights.jpg&#34; style=&#34;display: block; margin: auto;&#34; /&gt;
&lt;p&gt;From: 
&lt;a href=&#34;https://www.bas.ac.uk/about/antarctica/wildlife/penguins/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://www.bas.ac.uk/about/antarctica/wildlife/penguins/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Looks like we have data for 3 of the smaller penguin species (of those pictured here).&lt;/p&gt;
&lt;p&gt;First, let&amp;rsquo;s build a simple linear regression model to predict body mass from flipper length.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;ggplot&lt;/span&gt;(tidypenguins, &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;aes&lt;/span&gt;(x &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; flipper_length_mm, y &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;geom_point&lt;/span&gt;(color &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;salmon&amp;#34;&lt;/span&gt;, size &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;3&lt;/span&gt;, alpha &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;.9&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;geom_smooth&lt;/span&gt;(method &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;lm&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;theme_penguin&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src=&#34;figs/unnamed-chunk-9-1.png&#34; width=&#34;672&#34; /&gt;
&lt;p&gt;Not bad! Looks promising. To actually fit a linear regression model, you might be used to something like this in R:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_mod &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;lm&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; flipper_length_mm, data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; tidypenguins)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;summary&lt;/span&gt;(penguin_mod)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Call:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; lm(formula = body_mass_g ~ flipper_length_mm, data = tidypenguins)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Residuals:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;      Min       1Q   Median       3Q      Max &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; -1057.33  -259.79   -12.24   242.97  1293.89 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Coefficients:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;                   Estimate Std. Error t value Pr(&amp;gt;|t|)    &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; (Intercept)       -5872.09     310.29  -18.93   &amp;lt;2e-16 ***&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; flipper_length_mm    50.15       1.54   32.56   &amp;lt;2e-16 ***&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; ---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Signif. codes:  0 &amp;#39;***&amp;#39; 0.001 &amp;#39;**&amp;#39; 0.01 &amp;#39;*&amp;#39; 0.05 &amp;#39;.&amp;#39; 0.1 &amp;#39; &amp;#39; 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Residual standard error: 393.3 on 331 degrees of freedom&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Multiple R-squared:  0.7621,	Adjusted R-squared:  0.7614 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; F-statistic:  1060 on 1 and 331 DF,  p-value: &amp;lt; 2.2e-16&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But we aren&amp;rsquo;t going to stick with this. We are going to use tidymodels, with the goal of generating accurate predictions for future, yet-to-be-seen penguins.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/C0EYVrLCgnYdy/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;tidymodels-101&#34;&gt;tidymodels 101
  &lt;a href=&#34;#tidymodels-101&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The code provided in the section below is &lt;em&gt;not&lt;/em&gt; particularly sad 🐧. If you are embarking on learning tidymodels, you&amp;rsquo;ll need to use this same kind of code as the building blocks for any predictive modeling pipeline.&lt;/p&gt;




&lt;h3 id=&#34;parsnip-build-the-model&#34;&gt;Parsnip: build the model
  &lt;a href=&#34;#parsnip-build-the-model&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This step is really three, using only the 
&lt;a href=&#34;https://tidymodels.github.io/parsnip/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;parsnip package&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lm_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;linear_reg&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt;       &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# pick model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_engine&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;lm&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt;   &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# set engine&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_mode&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;regression&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# set mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lm_spec
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Linear Regression Model Specification (regression)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; Computational engine: lm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Things that are missing: data (we haven&amp;rsquo;t touched it yet) and a formula (no data, no variables, no twiddle &lt;code&gt;~&lt;/code&gt;). This is an &lt;em&gt;abstract&lt;/em&gt; model specification. See other possible parsnip models 
&lt;a href=&#34;https://tidymodels.github.io/parsnip/articles/articles/Models.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;




&lt;h3 id=&#34;recipe-not-happening-here-folks&#34;&gt;Recipe: not happening here, folks
  &lt;a href=&#34;#recipe-not-happening-here-folks&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This is where you would normally insert some code for feature engineering using the 
&lt;a href=&#34;https://tidymodels.github.io/recipes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;recipes package&lt;/a&gt;. But previously this required functions named &lt;code&gt;prep()&lt;/code&gt;, &lt;code&gt;bake()&lt;/code&gt;, &lt;code&gt;juice()&lt;/code&gt;- so I&amp;rsquo;m willfully ignoring that for now. There will be no recipes involving penguins.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/H4uE6w9G1uK4M/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h3 id=&#34;rsample-initial-split&#34;&gt;Rsample: initial split
  &lt;a href=&#34;#rsample-initial-split&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ll use the 
&lt;a href=&#34;https://tidymodels.github.io/rsample/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rsample package&lt;/a&gt; to split (&lt;em&gt;ayee! I promise no penguins were hurt in the writing of this blog post&lt;/em&gt;) the penguins up into two datasets: training and testing. If you are unfamiliar with this practice, read up on 
&lt;a href=&#34;https://sebastianraschka.com/blog/2016/model-evaluation-selection-part1.html#resubstitution-validation-and-the-holdout-method&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;the holdout method&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;initial_split&lt;/span&gt;(tidypenguins, strata &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; species)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_train &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;training&lt;/span&gt;(penguin_split)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_test  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;testing&lt;/span&gt;(penguin_split)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;fitting-the-model-once&#34;&gt;Fitting the model once
  &lt;a href=&#34;#fitting-the-model-once&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Fitting a single model once is&amp;hellip;not &lt;em&gt;exactly&lt;/em&gt; the hardest part.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/4KALRmOb8uwbC/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is essentially the workflow from this 
&lt;a href=&#34;https://rviews.rstudio.com/2019/06/19/a-gentle-intro-to-tidymodels/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;early blog post&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lm_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_train) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(new_data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_test) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: get metrics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;bind_cols&lt;/span&gt;(penguin_test) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator .estimate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard        278.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;fitting-the-model-with-a-function&#34;&gt;Fitting the model with a function
  &lt;a href=&#34;#fitting-the-model-with-a-function&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If you squint, you might see that I could make this into a function like below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(model_spec, split) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;training&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(new_data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;testing&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: get metrics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;bind_cols&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;testing&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And I could use it to fit a linear regression model:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_rmse&lt;/span&gt;(model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; lm_spec, split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_split)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator .estimate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard        278.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I could also build up a tibble that includes the results, if I wanted to save the predicted values, for example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(model_spec, split){
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  fit_model &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;training&lt;/span&gt;(split))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; fit_model &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(new_data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;testing&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;bind_cols&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;testing&lt;/span&gt;(split) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;select&lt;/span&gt;(body_mass_g, species))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  preds
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_preds&lt;/span&gt;(model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; lm_spec, split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_split)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then I can work with the predicted values, like plotting the fitted body mass estimates against the residuals.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;ggplot&lt;/span&gt;(penguin_preds, &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;aes&lt;/span&gt;(x &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred, y &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; (.pred &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt; body_mass_g))) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;geom_point&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;aes&lt;/span&gt;(colour &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; species), size &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;3&lt;/span&gt;, alpha &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;.8&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;geom_smooth&lt;/span&gt;(method &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;lm&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;theme_penguin&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  scico&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;scale_colour_scico_d&lt;/span&gt;(end &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;.8&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;ggtitle&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Residuals vs Fitted&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; `geom_smooth()` using formula &amp;#39;y ~ x&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src=&#34;figs/unnamed-chunk-17-1.png&#34; width=&#34;672&#34; /&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: get metrics&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator .estimate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard        278.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or I could fit a regression tree model with a new model spec:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# regression tree model spec&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rt_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;decision_tree&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_engine&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rpart&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_mode&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;regression&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# get rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_preds&lt;/span&gt;(model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; rt_spec, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_split) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator .estimate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard        312.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or a random forest:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# random forest model spec&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rf_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rand_forest&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_engine&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;ranger&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set_mode&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;regression&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# get rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_preds&lt;/span&gt;(model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; rf_spec, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_split) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator .estimate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;          &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard        300.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But, unfortunately, I shouldn&amp;rsquo;t be predicting with the test set over and over again like this. It isn&amp;rsquo;t good practice to predict with the test set &amp;gt; 1 time. What is a good predictive modeler to do? I should be saving (holding out) the test set and use it to generate predictions exactly once, at the very end — after I&amp;rsquo;ve compared different models, selected my features, and tuned my hyperparameters. How do you do this? You do 
&lt;a href=&#34;https://sebastianraschka.com/blog/2016/model-evaluation-selection-part3.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cross-validation&lt;/a&gt; with the training set, and you leave the testing set for 
&lt;a href=&#34;https://tidymodels.github.io/tune/reference/last_fit.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;em&gt;the very last fit you do&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/uwlDAujt3w9mU/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;hey-jude-dont-make-it-sad-&#34;&gt;Hey Jude, don&amp;rsquo;t make it sad 🎶
  &lt;a href=&#34;#hey-jude-dont-make-it-sad-&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Now, for the 😭 part- let&amp;rsquo;s add cross-validation! To do this, we&amp;rsquo;ll use a function called 
&lt;a href=&#34;https://tidymodels.github.io/rsample/reference/vfold_cv.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;rsample::vfold_cv()&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add the cv step here&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_folds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;vfold_cv&lt;/span&gt;(data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_train, strata &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;species&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_folds
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id    &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The process of training, testing, and computing metrics gets a lot harder when you need to do this across 10 folds, each with a different data split. I eventually worked out three approaches, which I show below. All require some level of comfort with iteration using the 
&lt;a href=&#34;https://purrr.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;purrr package&lt;/a&gt;.&lt;/p&gt;




&lt;h3 id=&#34;function-with-minimal-purrr-ing&#34;&gt;Function with minimal purrr-ing
  &lt;a href=&#34;#function-with-minimal-purrr-ing&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This approach is essentially a mega-function, that we then use purrr to map across each fold.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to change a few things from my previous &lt;code&gt;get_preds()&lt;/code&gt; function:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;training(split)&lt;/code&gt; -&amp;gt; &lt;code&gt;analysis(split)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;testing(split)&lt;/code&gt; -&amp;gt; &lt;code&gt;assessment(split)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;I also added the &lt;code&gt;rsample::add_resample_id()&lt;/code&gt; function to keep track of the fold number.&lt;/li&gt;
&lt;li&gt;I saved the predictions now as a list column.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To build up this function, my strategy was to figure out how to work with one fold, then I knew I&amp;rsquo;d be able to use &lt;code&gt;purrr::map_df()&lt;/code&gt; to apply it across multiple folds.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Figure it out for one fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_fold_results &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(model_spec, split){
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  fits &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;analysis&lt;/span&gt;(split))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions on for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; fits &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(new_data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;assessment&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;bind_cols&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;assessment&lt;/span&gt;(split)) 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: compute metric for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;assessment&lt;/span&gt;(split)  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;summarize&lt;/span&gt;(rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse_vec&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                              estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; preds&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;$&lt;/span&gt;.pred))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add fold identifier column&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rsample&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;add_resample_id&lt;/span&gt;(split &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; split) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;as_tibble&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add predictions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;list&lt;/span&gt;(preds))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I tried this function with a single fold first:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_fold_results&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    split      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_folds&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;$&lt;/span&gt;splits[[1]], 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; rt_spec
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  )
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    rmse id     preds            &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;dbl&amp;gt; &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;           &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1  419. Fold01 &amp;lt;tibble [26 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Next, I used purrr- but just once. The function &lt;code&gt;get_fold_results&lt;/code&gt; is doing &lt;strong&gt;most&lt;/strong&gt; of the work for us, but I needed purrr to map it across each fold.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kfold_results &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map_df&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    penguin_folds&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;$&lt;/span&gt;splits, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;get_fold_results&lt;/span&gt;(.x, model &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; rt_spec))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kfold_results
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;     rmse id     preds            &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;dbl&amp;gt; &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;           &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1  419. Fold01 &amp;lt;tibble [26 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2  326. Fold02 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3  414. Fold03 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4  327. Fold04 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5  336. Fold05 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6  406. Fold06 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7  305. Fold07 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8  301. Fold08 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9  315. Fold09 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10  319. Fold10 &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here we are still left with 10 RMSE values- one for each of the 10 folds. We don&amp;rsquo;t care too much about by fold- the power is in the aggregate. Specifically, we mainly care about the central tendency and spread of these RMSE values. Let&amp;rsquo;s finish by combining (or aggregating) these metrics.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kfold_results &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;summarize&lt;/span&gt;(mean_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mean&lt;/span&gt;(rmse), sd_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;sd&lt;/span&gt;(rmse))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   mean_rmse sd_rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;       &amp;lt;dbl&amp;gt;   &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1      347.    46.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;So, this works. But, can you imagine doing it again? Without errors? Can you imagine teaching it?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/bmGmHZ5khMjN6/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h3 id=&#34;purrr-to-the-max&#34;&gt;Purrr-to-the-max
  &lt;a href=&#34;#purrr-to-the-max&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This approach is &lt;code&gt;purrr::map()&lt;/code&gt; (and friends) on steriods. We use vanilla &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;map2()&lt;/code&gt;, &lt;em&gt;and&lt;/em&gt; &lt;code&gt;map2_dbl()&lt;/code&gt; here. We also use 
&lt;a href=&#34;https://jennybc.github.io/purrr-tutorial/ls03_map-function-syntax.html#anonymous_function,_formula&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;anonymous functions as a formula&lt;/a&gt;, &lt;em&gt;and&lt;/em&gt; the pipe operator within those anonymous functions.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_res &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; penguin_folds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    train_set  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map&lt;/span&gt;(splits, analysis),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fit_models &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map&lt;/span&gt;(train_set, &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt;rt_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                        data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .x)),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    test_set   &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map&lt;/span&gt;(splits, assessment),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    estimates  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map2&lt;/span&gt;(fit_models, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      test_set, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt;.x &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(.y)),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: compute metric for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rmse       &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map2_dbl&lt;/span&gt;(test_set, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          estimates, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                          &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse_vec&lt;/span&gt;(truth &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .x&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;$&lt;/span&gt;body_mass_g, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                    estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .y&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;$&lt;/span&gt;.pred))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  )
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_res
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits       id     train_set     fit_models test_set     estimates      rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;       &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;        &amp;lt;list&amp;gt;     &amp;lt;list&amp;gt;       &amp;lt;list&amp;gt;        &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225… Fold01 &amp;lt;tibble [225… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [26… &amp;lt;tibble [26 …  419.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226… Fold02 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  326.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226… Fold03 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  414.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226… Fold04 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  327.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226… Fold05 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  336.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226… Fold06 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  406.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226… Fold07 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  305.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226… Fold08 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  301.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226… Fold09 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  315.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226… Fold10 &amp;lt;tibble [226… &amp;lt;fit[+]&amp;gt;   &amp;lt;tibble [25… &amp;lt;tibble [25 …  319.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_res &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;summarise&lt;/span&gt;(mean_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mean&lt;/span&gt;(rmse), sd_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;sd&lt;/span&gt;(rmse))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   mean_rmse sd_rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;       &amp;lt;dbl&amp;gt;   &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1      347.    46.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;the-purrr-mash-up&#34;&gt;The purrr mash-up
  &lt;a href=&#34;#the-purrr-mash-up&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Another way I worked out was largely after reviewing Max&amp;rsquo;s slides from previous workshops. This is basically a mash-up of my previous two approaches, where we write laser-focused functions that each do one thing, then use purrr to apply those functions across the folds. This way is nice(r) for showing in slides as you can incrementally build up the results table. Let&amp;rsquo;s see this sad script in action&amp;hellip;&lt;/p&gt;




&lt;h4 id=&#34;round-1&#34;&gt;Round 1
  &lt;a href=&#34;#round-1&#34;&gt;&lt;/a&gt;
&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# for reproducibility&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model for a split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_fits &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(split, model_spec){
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  model_spec &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit&lt;/span&gt;(body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; ., 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;analysis&lt;/span&gt;(split))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted models across folds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; penguin_folds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_fits &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map&lt;/span&gt;(splits, get_fits, rt_spec))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id     rt_fits &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;  &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10 &amp;lt;fit[+]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4 id=&#34;round-2&#34;&gt;Round 2
  &lt;a href=&#34;#round-2&#34;&gt;&lt;/a&gt;
&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions for a split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(split, fit_df) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  fit_df &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;predict&lt;/span&gt;(new_data &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;assessment&lt;/span&gt;(split)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;bind_cols&lt;/span&gt;(&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;assessment&lt;/span&gt;(split))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions across folds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map2&lt;/span&gt;(splits, rt_fits, get_preds))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id     rt_fits  rt_preds         &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;   &amp;lt;list&amp;gt;           &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [26 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4 id=&#34;aaaand-round-3&#34;&gt;aaaand Round 3
  &lt;a href=&#34;#aaaand-round-3&#34;&gt;&lt;/a&gt;
&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: compute metric for a split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;get_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;function&lt;/span&gt;(pred_df) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pred_df &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rmse&lt;/span&gt;(truth    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; body_mass_g, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         estimate &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; .pred) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;pluck&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;.estimate&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: compute metric across folds&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map_dbl&lt;/span&gt;(rt_preds, get_rmse))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id     rt_fits  rt_preds          rt_rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;   &amp;lt;list&amp;gt;              &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [26 × 8]&amp;gt;    419.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    326.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    414.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    327.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    336.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    406.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    305.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    301.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    315.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    319.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Finally, summarizing as I did before:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_purrr &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;summarize&lt;/span&gt;(mean_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mean&lt;/span&gt;(rt_rmse), sd_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;sd&lt;/span&gt;(rt_rmse))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 1 x 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   mean_rmse sd_rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;       &amp;lt;dbl&amp;gt;   &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1      347.    46.8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In practice, if you did all these at once instead of incrementally, it would look like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;set.seed&lt;/span&gt;(&lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_folds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# train: get fitted model for a split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_fits &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map&lt;/span&gt;(splits, get_fits, rt_spec)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# test: get predictions on for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_preds &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map2&lt;/span&gt;(splits, rt_fits, get_preds)) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# compare: compute metric for each fold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;mutate&lt;/span&gt;(rt_rmse &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;map_dbl&lt;/span&gt;(rt_preds, get_rmse))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; #  10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id     rt_fits  rt_preds          rt_rmse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;   &amp;lt;list&amp;gt;              &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [26 × 8]&amp;gt;    419.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    326.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    414.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    327.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    336.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    406.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    305.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    301.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    315.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10 &amp;lt;fit[+]&amp;gt; &amp;lt;tibble [25 × 8]&amp;gt;    319.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When you put it like &lt;em&gt;that&lt;/em&gt;, it doesn&amp;rsquo;t look like so much work! But, this way hides how much work it takes to write those 3 custom functions: &lt;code&gt;get_fits()&lt;/code&gt;, &lt;code&gt;get_preds()&lt;/code&gt;, and &lt;code&gt;get_rmse()&lt;/code&gt;. And we still had to use vanilla &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;map2()&lt;/code&gt;, &lt;em&gt;and&lt;/em&gt; &lt;code&gt;map2_dbl()&lt;/code&gt;.&lt;/p&gt;




&lt;h2 id=&#34;make-it-better&#34;&gt;Make it better
  &lt;a href=&#34;#make-it-better&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I kept a learning log while working through the all the above code, and I wrote down these notes to myself:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;It is very easy to do the wrong thing; it is very hard to do the right thing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I lost sight many times of what the code I was writing was doing, because I was using up so much cognitive energy on getting the code to just work.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I thought I knew how to use purrr&amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you have made it this far, I&amp;rsquo;m pretty sure I don&amp;rsquo;t need to convince you that a better way to do cross-validation using tidymodels would be more pleasant to do more than once. It would also be less prone to error due to me copying-and-pasting repeatedly, and making stupid mistakes that would be difficult to spot with so much cluttered code. Luckily, 
&lt;a href=&#34;https://tidymodels.github.io/tune/reference/fit_resamples.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;tune::fit_resamples()&lt;/code&gt;&lt;/a&gt; came along to take a sad script and make it better:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_party &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  tune&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit_resamples&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rt_spec,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; .,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    resamples &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_folds
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is the beautiful output from that function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_party
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # Resampling results&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # 10-fold cross-validation using stratification &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 10 x 4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    splits           id     .metrics         .notes          &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;list&amp;gt;           &amp;lt;chr&amp;gt;  &amp;lt;list&amp;gt;           &amp;lt;list&amp;gt;          &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 &amp;lt;split [225/26]&amp;gt; Fold01 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 &amp;lt;split [226/25]&amp;gt; Fold02 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 &amp;lt;split [226/25]&amp;gt; Fold03 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 &amp;lt;split [226/25]&amp;gt; Fold04 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 &amp;lt;split [226/25]&amp;gt; Fold05 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 &amp;lt;split [226/25]&amp;gt; Fold06 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 &amp;lt;split [226/25]&amp;gt; Fold07 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 &amp;lt;split [226/25]&amp;gt; Fold08 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 &amp;lt;split [226/25]&amp;gt; Fold09 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 &amp;lt;split [226/25]&amp;gt; Fold10 &amp;lt;tibble [2 × 3]&amp;gt; &amp;lt;tibble [0 × 1]&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, to see all the stuff inside this &lt;code&gt;penguin_party&lt;/code&gt;, we can use tune&amp;rsquo;s &lt;code&gt;collect_*&lt;/code&gt; functions.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_party &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;collect_metrics&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 2 x 5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   .metric .estimator    mean     n std_err&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;   &amp;lt;chr&amp;gt;   &amp;lt;chr&amp;gt;        &amp;lt;dbl&amp;gt; &amp;lt;int&amp;gt;   &amp;lt;dbl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 1 rmse    standard   347.       10 14.8   &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 2 rsq     standard     0.839    10  0.0141&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To see the predictions, we need to add use 
&lt;a href=&#34;https://tidymodels.github.io/tune/reference/control_grid.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;control_resamples()&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_party &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  tune&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;fit_resamples&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    rt_spec,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    body_mass_g &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;~&lt;/span&gt; .,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    resamples &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; penguin_folds,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    control &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;control_resamples&lt;/span&gt;(save_pred &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# add this line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then we collect the predictions.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;penguin_party &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;collect_predictions&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # A tibble: 251 x 4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    id     .pred  .row body_mass_g&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;    &amp;lt;chr&amp;gt;  &amp;lt;dbl&amp;gt; &amp;lt;int&amp;gt;       &amp;lt;int&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  1 Fold01 3402.     4        3625&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  2 Fold01 3402.    11        3325&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  3 Fold01 3988.    14        3950&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  4 Fold01 3988.    41        3700&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  5 Fold01 3402.    54        3700&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  6 Fold01 3988.    65        3950&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  7 Fold01 3988.    70        4450&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  8 Fold01 3402.    71        3300&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt;  9 Fold01 3402.    76        3075&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; 10 Fold01 3402.    85        2900&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#&amp;gt; # … with 241 more rows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, isn&amp;rsquo;t that better?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/daeKl3P4SissU/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduction to Machine Learning with the Tidyverse</title>
      <link>https://www.apreshill.com/talk/2020-rsc-tidyml/</link>
      <pubDate>Mon, 27 Jan 2020 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2020-rsc-tidyml/</guid>
      <description>&lt;p&gt;This two-day workshop provided a gentle introduction to supervised machine learning: concepts, methods, and R code. Participants learned how to train and assess predictive models with several common machine learning algorithms, as well as how to do feature engineering to improve the predictive accuracy of their models. We focused on teaching intuitive explanations of the models and best practices for predictive modeling. Along the way, we introduced several core 
&lt;a href=&#34;https://github.com/tidymodels&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt; packages, which provide a grammar for modeling that makes it easy to the right thing, and harder to accidentally do the wrong thing.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduction to Machine Learning with the Tidyverse</title>
      <link>https://www.apreshill.com/project/tidyml/</link>
      <pubDate>Mon, 27 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/tidyml/</guid>
      <description>&lt;p&gt;These workshops provide a gentle introduction to supervised machine learning: concepts, methods, and R code. Participants learn how to train and assess predictive models with several common machine learning algorithms, as well as how to do feature engineering to improve the predictive accuracy of their models. We focus on teaching intuitive explanations of the models and best practices for predictive modeling. Along the way, we introduce several core 
&lt;a href=&#34;https://github.com/tidymodels&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidymodels&lt;/a&gt; packages, which provide a grammar for modeling that makes it easy to the right thing, and harder to accidentally do the wrong thing.&lt;/p&gt;
&lt;p&gt;See the workshop websites for more, including links to the GitHub repositories for all workshop materials.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Learning to Teach Machines to Learn</title>
      <link>https://www.apreshill.com/blog/2019-12-teaching-ml/</link>
      <pubDate>Mon, 23 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2019-12-teaching-ml/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m excited to be teaching a new workshop at the upcoming 
&lt;a href=&#34;https://rstudio.com/conference/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rstudio::conf&lt;/a&gt; in January called &lt;em&gt;&amp;ldquo;Introduction to Machine Learning with the Tidyverse&amp;rdquo;&lt;/em&gt;, with my colleague Garrett Grolemund. Our workshop just sold out over the weekend! 🎉&lt;/p&gt;
&lt;p&gt;It is always hard to develop an entirely new workshop, especially if you are doing it at the same time as learning how to use a new API. It is even harder when that API is under active development like the 
&lt;a href=&#34;https://github.com/tidymodels&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;tidymodels&lt;/strong&gt; ecosystem&lt;/a&gt;! I&amp;rsquo;ve been so lucky to be able to work with the tidymodels team at RStudio, 
&lt;a href=&#34;https://twitter.com/topepos&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Max Kuhn&lt;/a&gt; and 
&lt;a href=&#34;https://blog.davisvaughan.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Davis Vaughan&lt;/a&gt;, to help shape how we tell the tidymodels story to ML beginners. But my favorite part of developing a new workshop like this has been studying how &lt;em&gt;others&lt;/em&gt; teach machine learning. Spoiler alert: there are a lot of materials intended for learners that make things seem harder than they actually are! Below, I&amp;rsquo;m sharing my bookmarked resources, organized roughly in the order I think they are most helpful for beginners.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;
&lt;a href=&#34;https://vas3k.com/blog/machine_learning/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Machine Learning for Everyone.&lt;/a&gt; In simple words. With real-world examples. Yes, again.&lt;/strong&gt; In my experience, the biggest hurdle to getting started is sifting through both the hype and the math. This is a readable illustrated introduction to key concepts that will help you start building your own mental model of this space. For example, &lt;em&gt;&amp;ldquo;the only goal of machine learning is to predict results based on incoming data. That&amp;rsquo;s it.&amp;rdquo;&lt;/em&gt; There you go! Start here.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://vas3k.com/blog/machine_learning/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://i.vas3k.ru/7w1.jpg&#34; width=&#34;80%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;http://www.r2d3.us/visual-intro-to-machine-learning-part-1/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;A Visual Introduction to Machine Learning by r2d3&lt;/a&gt;. This is a wonderful two-part series (that I wish would be extended!):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.r2d3.us/visual-intro-to-machine-learning-part-1/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part I: A Decision Tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;http://www.r2d3.us/visual-intro-to-machine-learning-part-2/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part II: Model Tuning and the Bias-Variance Tradeoff&lt;/a&gt; &lt;br&gt;&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://supervised-ml-course.netlify.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Supervised Machine Learning course by Julia Silge&lt;/a&gt; Taught with R and the &lt;code&gt;caret&lt;/code&gt; package (the precursor to the in-development &lt;strong&gt;tidymodels&lt;/strong&gt; ecosystem), this is a great next step in your machine learning journey as you&amp;rsquo;ll start &lt;em&gt;doing ML&lt;/em&gt; right away in your browser using an innovative course delivery platform. You&amp;rsquo;ll also get to play with data that is &lt;em&gt;not&lt;/em&gt; &lt;code&gt;iris&lt;/code&gt;, &lt;code&gt;titanic&lt;/code&gt;, or &lt;code&gt;AmesHousing&lt;/code&gt;. This will be sweet relief because you&amp;rsquo;ll find the rest of my recommended resources all basically build models to predict home prices in Ames, Iowa.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://supervised-ml-course.netlify.com/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/juliasilge/supervised-ML-case-studies-course/master/static/social.png&#34; width=&#34;50%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://bradleyboehmke.github.io/HOML/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hands-on Machine Learning with R&lt;/a&gt; by Bradley Boehmke &amp;amp; Brandon Greenwell. Another great way to learn concepts plus code, although another one that focuses on the &lt;code&gt;caret&lt;/code&gt; package (pre-tidymodels). Each chapter maps onto a new learning algorithm, and provides a code-through with real data from building to tuning. The authors also offer practical advice for each algorithm, and the &amp;ldquo;final thoughts&amp;rdquo; sections at the end of each chapter will help you tie it all together.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://bradleyboehmke.github.io/HOML/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://bradleyboehmke.github.io/HOML/images/homl-cover.jpg&#34; width=&#34;40%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t skip the &amp;ldquo;Fundamentals&amp;rdquo; section, even if you feel like you&amp;rsquo;ve got that down by now. The second chapter on the 
&lt;a href=&#34;https://bradleyboehmke.github.io/HOML/process.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;modeling process&lt;/a&gt; is especially good.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://bradleyboehmke.github.io/HOML/process.html&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://bradleyboehmke.github.io/HOML/images/modeling_process.png&#34; width=&#34;80%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://christophm.github.io/interpretable-ml-book/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Interpretable Machine Learning: A Guide for Making Black Box Models Explainable&lt;/a&gt; by 
&lt;a href=&#34;https://christophm.github.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Christoph Molnar&lt;/a&gt;. If you only have time to read a single chapter, skip ahead to 
&lt;a href=&#34;https://christophm.github.io/interpretable-ml-book/simple.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Chapter 4: Interpretable Models&lt;/a&gt;. I also appreciated the introduction section on 
&lt;a href=&#34;https://christophm.github.io/interpretable-ml-book/terminology.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;terminology&lt;/a&gt;. But the whole book is excellent and well-written.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://christophm.github.io/interpretable-ml-book/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://christophm.github.io/interpretable-ml-book/images/title_page.jpg&#34; width=&#34;40%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Model evaluation, model selection, and algorithm selection in machine learning- a 4-part series by 
&lt;a href=&#34;https://sebastianraschka.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Sebastian Raschka&lt;/a&gt;&lt;/strong&gt;. I found this to be a great evidence-based, thorough overview of the &lt;em&gt;methods&lt;/em&gt; for machine learning. I especially liked how he walks you step-by-step from the simplest methods like the holdout method up to nested cross-validation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://sebastianraschka.com/blog/2016/model-evaluation-selection-part1.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part I: The Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://sebastianraschka.com/blog/2016/model-evaluation-selection-part2.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part II: Bootstrapping &amp;amp; uncertainties&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://sebastianraschka.com/blog/2016/model-evaluation-selection-part3.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part III: Cross-validation and hyperparameter tuning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://sebastianraschka.com/blog/2018/model-evaluation-selection-part4.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Part IV: Comparing the performance of machine learning models and algorithms using statistical tests and nested cross-validation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;img src=&#34;https://sebastianraschka.com/images/blog/2016/model-evaluation-selection-part1/iris-dist.png&#34; width=&#34;50%&#34; /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At this point, if you can read through the above resources and you are no longer feeling awash in new terminology, I think your vocabulary and mental model are in pretty good shape! That means you are ready for the next step, which is to read Max Kuhn and Kjell Johnson&amp;rsquo;s new book 
&lt;a href=&#34;http://www.feat.engineering/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Feature Engineering and Selection: A Practical Approach for Predictive Models&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.feat.engineering/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://images.tandf.co.uk/common/jackets/amazon/978113807/9781138079229.jpg&#34; width=&#34;40%&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In my experience, the later chapters in this book filled in a lot of lingering questions I had about certain methods, like whether to use 
&lt;a href=&#34;http://www.feat.engineering/categorical-trees.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;factor or dummy variables in tree-based models&lt;/a&gt;. But also don&amp;rsquo;t miss the section on 
&lt;a href=&#34;http://www.feat.engineering/important-concepts.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;important concepts&amp;rdquo;&lt;/a&gt; at the beginning- this &lt;em&gt;should&lt;/em&gt; feel like a nice review if you&amp;rsquo;ve gotten this far!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://web.stanford.edu/~hastie/ElemStatLearn/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Elements of Statistical Learning&lt;/a&gt;. The entire PDF of the book is available online. A great resource for those with a strong statistics background, and for those looking for more math and formulas.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;other-note-worthy-resources&#34;&gt;Other note-worthy resources
  &lt;a href=&#34;#other-note-worthy-resources&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For the highly visual learner, you may want to cue up some YouTube videos from Udacity&amp;rsquo;s 
&lt;a href=&#34;https://www.youtube.com/playlist?list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Machine Learning for Trading&amp;rdquo;&lt;/a&gt; course. I found these illustrations especially helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.youtube.com/watch?v=yBqf9XCpz8o&amp;amp;list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&amp;amp;index=187&amp;amp;t=0s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cross-validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.youtube.com/watch?v=mfzHchd5La8&amp;amp;list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&amp;amp;index=190&amp;amp;t=0s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Overfitting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.youtube.com/watch?v=Un9zObFjBH0&amp;amp;list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&amp;amp;index=192&amp;amp;t=0s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ensemble learners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.youtube.com/watch?v=2Mg8QD0F1dQ&amp;amp;list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&amp;amp;index=193&amp;amp;t=0s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Bootstrap aggregating (bagging)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.youtube.com/watch?v=GM3CDQfQ4sw&amp;amp;list=PLAwxTw4SYaPnIRwl6rad_mYwEk4Gmj7Mx&amp;amp;index=195&amp;amp;t=0s&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Boosting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://i.ytimg.com/vi/Un9zObFjBH0/maxresdefault.jpg&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Chris Albon&amp;rsquo;s Machine Learning Flashcards ($12)&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://store.chrisalbon.com/machine-learning-flashcards&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;https://d31ezp3r8jwmks.cloudfront.net/variants/BhXYeMJycv8QHBQgJfjemVgz/d2e337a4f6900f8d0798c596eb0607a8e0c2fbddb6a7ab7afcd60009c119d4c7&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.shirin-glander.de/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Shirin Elsinghorst&amp;rsquo;s blog&lt;/a&gt; (&lt;strong&gt;free! and so good&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.shirin-glander.de/&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;shirin.png&#34; width=&#34;1440&#34; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I love her 
&lt;a href=&#34;https://shirinsplayground.netlify.com/categories/sketchnotes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;sketchnotes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.shirin-glander.de/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img src=&#34;https://shiring.github.io/netlify_images/lime_sketchnotes_guq6u5.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I also found Rafael Irizarry&amp;rsquo;s 
&lt;a href=&#34;https://rafalab.github.io/dsbook/introduction-to-machine-learning.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Introduction to Machine Learning&amp;rdquo;&lt;/a&gt;, a chapter from his 
&lt;a href=&#34;https://rafalab.github.io/dsbook/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Introduction to Data Science book&lt;/a&gt;, to have some helpful discussion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.nature.com/articles/nmeth.4526&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Machine Learning: A primer&lt;/a&gt; by     Danilo Bzdok, Martin Krzywinski &amp;amp; Naomi Altman, from the 
&lt;a href=&#34;https://www.nature.com/collections/qghhqm/pointsofsignificance&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Nature Methods Points of Significance collection&lt;/a&gt;- this collection in general is always straight-forward with great visuals. Start with the primer, then skim these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.nature.com/articles/nmeth.4642&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Statistics versus machine learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.nature.com/articles/nmeth.4551&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Machine learning: supervised methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.nature.com/articles/nmeth.4370&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Classification and regression trees&lt;/a&gt; (decision trees are the &amp;ldquo;base learner&amp;rdquo; for many ensemble methods - this is a good intro)&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.nature.com/articles/nmeth.4438&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Ensemble methods: bagging and random forests&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://media.springernature.com/full/springer-static/image/art%3A10.1038%2Fnmeth.4438/MediaObjects/41592_2017_Article_BFnmeth4438_Fig1_HTML.jpg?as=webp&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&amp;rsquo;s all for now- if you are taking my workshop in January I look forward to meeting you in person! If not, rest assured that all code and materials will be shared openly after the workshop. Until then, happy learning 🤖&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Plot Twist: 10 Bake Offs, Visualized 11 Ways</title>
      <link>https://www.apreshill.com/talk/2019-rladies-sydney/</link>
      <pubDate>Fri, 04 Oct 2019 18:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rladies-sydney/</guid>
      <description>&lt;p&gt;Using data from 10 series of The Great British Bake Off, we will walk through eleven ways to visualize the same data using the &lt;code&gt;ggplot2&lt;/code&gt; package. We&amp;rsquo;ll talk a lot about geoms and variable mappings, but also about what it means to &amp;ldquo;tidy your data&amp;rdquo;, plus the new pivot functions in the &lt;code&gt;tidyr&lt;/code&gt; package.&lt;/p&gt;
&lt;p&gt;You won&amp;rsquo;t need your laptops but you will get the most out of this talk if you know some basics about using &lt;code&gt;ggplot2&lt;/code&gt;. To brush up (or start learning now), you may want to play with the free RStudio.cloud 
&lt;a href=&#34;https://rstudio.cloud/learn/primers/3&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;data visualization primer&lt;/a&gt; (you may use an existing Google or GitHub account to log in). Or of course you can check out 
&lt;a href=&#34;https://rladiessydney.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies Sydney&lt;/a&gt;&amp;rsquo;s own 
&lt;a href=&#34;https://rladiessydney.org/post/2018/12/20/vizwhiz/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;VizW(h)iz Module&lt;/a&gt; of 
&lt;a href=&#34;https://rladiessydney.org/ryouwithme&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;#RYouWithMe&lt;/a&gt;!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The Art of Literate Projecting</title>
      <link>https://www.apreshill.com/talk/2019-ysc-keynote/</link>
      <pubDate>Wed, 02 Oct 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-ysc-keynote/</guid>
      <description>
&lt;script src=&#34;https://www.apreshill.com/talk/2019-ysc-keynote/index_files/header-attrs/header-attrs.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/talk/2019-ysc-keynote/index_files/anchor-sections/anchor-sections.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/talk/2019-ysc-keynote/index_files/anchor-sections/anchor-sections.js&#34;&gt;&lt;/script&gt;


&lt;p&gt;“Literate programming” is an approach to writing software programs that weaves together the source code and documentation at the time of creation. The idea is to create programs that are easier for users to understand. But they are also easier for programmers to work on and maintain. In this talk, I will describe how data scientists can be inspired by this programming approach and start what I refer to as “literate projecting.” Literate projects are not only more pleasant to work on — they are also easier for others to discover and explore. In my experiences as a researcher and now a data scientist at RStudio, I’ve had the pleasure to work on many literate projects, and I’ve felt the pain of working on illiterate ones too. What is the difference? What are the benefits? Based on my experiences, I’ll share good literate projecting practices that have the potential to shift your mindset and reshape your workflow.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Communicating with R Markdown Workshop</title>
      <link>https://www.apreshill.com/talk/2019-ysc-workshop/</link>
      <pubDate>Mon, 30 Sep 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-ysc-workshop/</guid>
      <description>
&lt;script src=&#34;https://www.apreshill.com/talk/2019-ysc-workshop/index_files/header-attrs/header-attrs.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/talk/2019-ysc-workshop/index_files/anchor-sections/anchor-sections.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/talk/2019-ysc-workshop/index_files/anchor-sections/anchor-sections.js&#34;&gt;&lt;/script&gt;


&lt;p&gt;A full-day workshop for &lt;i class=&#34;fab fa-r-project&#34;&gt;&lt;/i&gt; users who want to get more out of &lt;a href=&#34;https://rmarkdown.rstudio.com/&#34;&gt;R Markdown&lt;/a&gt; (and friends). In this workshop, you will create, publish, and share some beautiful data products. You’ll learn to make:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Parameterized reports&lt;/li&gt;
&lt;li&gt;Version-controlled R Markdown projects&lt;/li&gt;
&lt;li&gt;Templates within a package&lt;/li&gt;
&lt;li&gt;Shareable &lt;a href=&#34;https://rstudio.github.io/distill/basics.html&#34;&gt;scientific/technical articles&lt;/a&gt;, &lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/xaringan.html&#34;&gt;slides&lt;/a&gt;, &lt;a href=&#34;https://rmarkdown.rstudio.com/flexdashboard/&#34;&gt;dashboards&lt;/a&gt;, and &lt;a href=&#34;https://bookdown.org/yihui/rmarkdown/websites.html&#34;&gt;websites&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Take a Sad Plot &amp; Make It Better</title>
      <link>https://www.apreshill.com/talk/2019-rladies-melbourne/</link>
      <pubDate>Thu, 26 Sep 2019 18:15:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rladies-melbourne/</guid>
      <description>&lt;p&gt;In this talk, Alison will talk about one plot’s life cycle, from a sad Powerpoint slide to an Excel chart and finally to the finished product made with the ggplot2 package in R. Along the way, she will discuss why each version of the plot fails in different ways and how each iteration improved on the last one.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://apreshill.github.io/ohsu-biodatavis/slides_files/figure-html/animated.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h1 id=&#34;latest-event&#34;&gt;Latest event
  &lt;a href=&#34;#latest-event&#34;&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;
&lt;a href=&#34;https://alison.netlify.com/rlm-sad-plot-better/unsw&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;This talk&lt;/a&gt; was most recently given at the University of South Wales on 2019/10/04.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>education.rstudio.com</title>
      <link>https://www.apreshill.com/project/education.rstudio.com/</link>
      <pubDate>Tue, 24 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/education.rstudio.com/</guid>
      <description>&lt;p&gt;RStudio’s mission is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“To equip everyone, regardless of means, to participate in a global economy that rewards data literacy.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Our education team supports this mission broadly by supporting people who want to learn R (or learn new things in R), and those who want to teach them. This website is designed for both. This website was built with Hugo, using a theme I developed and maintain. I worked with my former intern, 
&lt;a href=&#34;https://desiree.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Desirée De Leon&lt;/a&gt;, to create the original artwork we used for the website.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>R Markdown for Medicine Workshop</title>
      <link>https://www.apreshill.com/talk/2019-rmed-rmd4medicine/</link>
      <pubDate>Thu, 12 Sep 2019 08:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rmed-rmd4medicine/</guid>
      <description>
&lt;script src=&#34;https://www.apreshill.com/talk/2019-rmed-rmd4medicine/index_files/header-attrs/header-attrs.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/talk/2019-rmed-rmd4medicine/index_files/anchor-sections/anchor-sections.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/talk/2019-rmed-rmd4medicine/index_files/anchor-sections/anchor-sections.js&#34;&gt;&lt;/script&gt;


</description>
    </item>
    
    <item>
      <title>R Markdown for Medicine</title>
      <link>https://www.apreshill.com/project/rmd4medicine/</link>
      <pubDate>Thu, 12 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/rmd4medicine/</guid>
      <description>&lt;p&gt;Starting with a mock clinical trial dataset, we’ll use R Markdown to combine prose, R code, and figures and tables created with R code into a nicely formatted and reproducible final manuscript.&lt;/p&gt;
&lt;p&gt;For the 
&lt;a href=&#34;https://r-medicine.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;2019 R / Medicine conference&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Teaching Students to Talk about Data Science</title>
      <link>https://www.apreshill.com/talk/2019-jsm-talk-ds/</link>
      <pubDate>Mon, 29 Jul 2019 14:00:01 -0700</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-jsm-talk-ds/</guid>
      <description>
&lt;script src=&#34;https://www.apreshill.com/talk/2019-jsm-talk-ds/index_files/header-attrs/header-attrs.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://www.apreshill.com/talk/2019-jsm-talk-ds/index_files/anchor-sections/anchor-sections.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://www.apreshill.com/talk/2019-jsm-talk-ds/index_files/anchor-sections/anchor-sections.js&#34;&gt;&lt;/script&gt;


&lt;p&gt;Data science educators have a unique opportunity to teach students the skills they need in their future careers. We know that practical skills matter, like being able to wrangle, explore, analyze, and visualize data (preferably using code), but what is easy to overlook is teaching students how to communicate about data science with other people. Being able to communicate about data, code, and insights gained are important skills we can strengthen in the classroom to make a real impact on students. I will talk about three ways to help strengthen data science communication skills that matter: self-reflection, iteration, and broadcasting. Self-reflection involves asking students to reflect on concepts and/or code that they struggled with to increase engagement with materials and independent problem-solving. Iteration involves revisiting old concepts/code, identifying areas for improvement, and making them better, either independently or in collaboration with peers or other experts/advanced users. Broadcasting involves practice (practice, practice, practice) “wrapping up” code with words into coherent narratives about what a data analysis or visualization means.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Summer of blogdown: Day 04</title>
      <link>https://www.apreshill.com/talk/2019-summer-of-blogdown-04/</link>
      <pubDate>Thu, 13 Jun 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-summer-of-blogdown-04/</guid>
      <description>&lt;p&gt;A hands-on workshop to creating a personal website using blogdown and the Hugo Academic theme.&lt;/p&gt;
&lt;p&gt;Four daily 1-hour sessions (see slides) plus 30-60 minutes of homework for 3 nights.&lt;/p&gt;
&lt;p&gt;See the project link for all the days of the summer of blogdown.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Summer of blogdown: Day 03</title>
      <link>https://www.apreshill.com/talk/2019-summer-of-blogdown-03/</link>
      <pubDate>Wed, 12 Jun 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-summer-of-blogdown-03/</guid>
      <description>&lt;p&gt;A hands-on workshop to creating a personal website using blogdown and the Hugo Academic theme.&lt;/p&gt;
&lt;p&gt;Four daily 1-hour sessions (see slides) plus 30-60 minutes of homework for 3 nights.&lt;/p&gt;
&lt;p&gt;See the project link for all the days of the summer of blogdown.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Summer of blogdown: Day 02</title>
      <link>https://www.apreshill.com/talk/2019-summer-of-blogdown-02/</link>
      <pubDate>Tue, 11 Jun 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-summer-of-blogdown-02/</guid>
      <description>&lt;p&gt;A hands-on workshop to creating a personal website using blogdown and the Hugo Academic theme.&lt;/p&gt;
&lt;p&gt;Four daily 1-hour sessions (see slides) plus 30-60 minutes of homework for 3 nights.&lt;/p&gt;
&lt;p&gt;See the project link for all the days of the summer of blogdown.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Summer of blogdown: Day 01</title>
      <link>https://www.apreshill.com/talk/2019-summer-of-blogdown-01/</link>
      <pubDate>Mon, 10 Jun 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-summer-of-blogdown-01/</guid>
      <description>&lt;p&gt;A hands-on workshop to creating a personal website using blogdown and the Hugo Academic theme.&lt;/p&gt;
&lt;p&gt;Four daily 1-hour sessions (see slides) plus 30-60 minutes of homework for 3 nights.&lt;/p&gt;
&lt;p&gt;See the project link for all the days of the summer of blogdown.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Using blogdown to Connect Beyond the Classroom</title>
      <link>https://www.apreshill.com/talk/2019-sdss-blogdown/</link>
      <pubDate>Thu, 30 May 2019 08:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-sdss-blogdown/</guid>
      <description>



</description>
    </item>
    
    <item>
      <title>Troubleshooting Your Build</title>
      <link>https://www.apreshill.com/blog/2019-03-spoonful-troubleshooting/</link>
      <pubDate>Mon, 04 Mar 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2019-03-spoonful-troubleshooting/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Just a spoonful of Hugo helps the blog go down.&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;me, only somewhat kidding&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;In this series, I&amp;rsquo;m sharing small spoonfuls of Hugo that I have learned that hopefully can help you get your site &lt;em&gt;UP&lt;/em&gt; (and even better- more efficient, more streamlined, more automated). You can read the previous posts about my &amp;ldquo;Spoonful of Hugo&amp;rdquo; series 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;about Hugo archetypes&lt;/a&gt;, 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;Hugo versions&lt;/a&gt;, and 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-21-hugo-page-bundles/&#34;&gt;Hugo page bundles&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following are a few steps that I always start with to troubleshoot any blogdown/Hugo/Netlify problems. These steps would solve what I would anecdotally estimate as ~50% of blogdown problems that I see posted in the 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub repository&lt;/a&gt; and on the 
&lt;a href=&#34;https://community.rstudio.com/tags/blogdown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;community site&lt;/a&gt;.&lt;/p&gt;




&lt;h2 id=&#34;1-update-hugo&#34;&gt;#1: Update Hugo
  &lt;a href=&#34;#1-update-hugo&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;https://media.giphy.com/media/syCa5ird7wp0c/giphy.gif&#34; alt=&#34;Don&#39;t be like this&#34;  /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 1: Don&#39;t be like this&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;If things have gone south and you are getting Hugo errors when you use the &amp;ldquo;Serve Site&amp;rdquo; Addin locally, it is possible that you need to update your version of Hugo. From R, you can check your Hugo version with blogdown:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;hugo_version&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then you can reference your 
&lt;a href=&#34;https://themes.gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo theme&lt;/a&gt; to find the minimum version of Hugo required by your theme:&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;hugo-min-version.png&#34; alt=&#34;Check your theme&#39;s minimum Hugo version&#34; width=&#34;1073&#34; /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 2: Check your theme&#39;s minimum Hugo version&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;You can go higher than the minimum version though, so it&amp;rsquo;s good practice to update your Hugo, again from within R:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;update_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check your version again post-update:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;hugo_version&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#39;0.80.0&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you are using Netlify to build your site using Hugo, you&amp;rsquo;ll want this version to match that- the best way to do that is with a 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;netlify.toml file&lt;/a&gt;.&lt;/p&gt;




&lt;h2 id=&#34;2-change-the-baseurl&#34;&gt;#2: Change the baseurl
  &lt;a href=&#34;#2-change-the-baseurl&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/zG6MKhlBxIloc/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;p&gt;Open up your &lt;code&gt;config.toml&lt;/code&gt; file and look for the &lt;code&gt;baseurl&lt;/code&gt; field, usually pretty close to the top. Here is mine^[Yes that&amp;rsquo;s right, I don&amp;rsquo;t have a trailing slash- read on for why I can get away with this.]:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;baseurl = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://alison.rbind.io&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now if you are just starting with Hugo and don&amp;rsquo;t &lt;em&gt;actually&lt;/em&gt; have a domain name yet, try taking the advice that blogdown automatically prints out for you:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Warning: You should change the &amp;#34;baseurl&amp;#34; option in config.toml 
from https://example.org to your actual domain; 
if you do not have a domain, set &amp;#34;baseurl&amp;#34; to &amp;#34;/&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;But be careful here- you shouldn&amp;rsquo;t leave it as &amp;ldquo;/&amp;rdquo;- once you do have your domain name you should update the baseurl as &amp;ldquo;/&amp;rdquo; is a not a valid URL.&lt;/p&gt;




&lt;h3 id=&#34;care-to-know-more&#34;&gt;Care to know more?
  &lt;a href=&#34;#care-to-know-more&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Here is a quote from the person who writes the Hugo docs:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;the only purpose for the baseurl field in the config is to define the full base URL of your website for deployment purposes.&amp;rdquo; - @
&lt;a href=&#34;https://discourse.gohugo.io/t/how-not-to-specify-url-site/5691/7&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rdwatters&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The main error that would happen without the trailing slash in the past is that you would end up with a site where the theme&amp;rsquo;s CSS would be all wrong. This was probably because the theme designer used code like this buried in a layout file:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;{{ .Site.BaseURL }}css/style.css&amp;#34;/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now, if you set &lt;code&gt;baseurl = &amp;quot;http://mysite.com&amp;quot;&lt;/code&gt; but only rendered locally, things would look just peachy, because the default local server already included the trailing slash. So, the link in the html file would be^[https://discourse.gohugo.io/t/how-not-to-specify-url-site/5691/5]:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;http://localhost:1313/css/style.css&amp;#34;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;But, at build, the link in the html file would turn into:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;http://mysite.comcss/style.css&amp;#34;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Which creates sites that look like this:&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;https://user-images.githubusercontent.com/47527626/52856178-f37a3680-3123-11e9-9b26-6500efac7404.png&#34; alt=&#34;Hugo tranquil peak theme&#34;  /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 3: Hugo tranquil peak theme&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/369&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub issue #369&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;https://user-images.githubusercontent.com/18710907/27711864-820dc59a-5cf2-11e7-99c8-b9b7e7f46ab3.png&#34; alt=&#34;Hugo universal theme&#34;  /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 4: Hugo universal theme&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/131&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub issue #131&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cloud.githubusercontent.com/assets/4596214/26549134/7e3968fe-4445-11e7-90b1-87dd4ac2c1c0.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/114&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub issue #114&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;However, Hugo authors and theme developers have largely been moving towards using relative URLs instead of the baseurl to build paths. This was based on public advice voiced by the Hugo authors on the discourse forum. For example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The recommended way to reference resources is to use either relURL or absURL template funcs, which handles the slash issues.&amp;rdquo;- @
&lt;a href=&#34;https://discourse.gohugo.io/t/0-19-to-0-30-2-baseurl-forward-slash-is-required/9206&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;bep&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Following that advice, a more up-to-date theme would have code that looks like this buried in a layout file:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;{{ &amp;#34;css/style.css&amp;#34; | relURL }}&amp;#34;/&amp;gt;  → 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Bottom line? If your theme uses &lt;code&gt;relURL&lt;/code&gt; or &lt;code&gt;absURL&lt;/code&gt; to link to site resources like CSS, JavaScript, or static images, then whether or not you include a trailing slash in your baseurl should not matter at all.&lt;/p&gt;
&lt;p&gt;And here is some tough love about your theme: if the most recent version &lt;em&gt;does&lt;/em&gt; still require the trailing slash in the &lt;code&gt;baseurl&lt;/code&gt; to &amp;ldquo;work&amp;rdquo; out of the box, I would seriously consider switching themes. This is a pretty good &amp;ldquo;canary in the coal mine&amp;rdquo; test regarding how up-to-date the theme author is, and how well the theme you have chosen adheres to Hugo templating best practices. If you are having pain with this now, it is likely not the only thing that will be painful about working with your theme.&lt;/p&gt;




&lt;h2 id=&#34;3-netlify-drag-and-drop&#34;&gt;#3: Netlify drag-and-drop
  &lt;a href=&#34;#3-netlify-drag-and-drop&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/DfbpTbQ9TvSX6/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you can render your site locally but your published site looks different, try the drag-and-drop method:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://arm.rbind.io/slides/img/netlify-new-site.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Use the &amp;ldquo;Serve Site&amp;rdquo; Addin, then drag-and-drop the &lt;code&gt;public/&lt;/code&gt; folder straight into Netlify. What does this do? You can now see your public site&amp;hellip;that you built&amp;hellip;with your local version of Hugo. Netlify is doing none of the site building here.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;index_files/figure-html/unnamed-chunk-10-1.gif&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;p&gt;One of the first benefits of this approach is that it ensures that you are able to actually &lt;em&gt;generate&lt;/em&gt; a &lt;code&gt;public/&lt;/code&gt; folder locally! I have seen folks struggle to deploy the wrong repo. This simple step can force you to make sure to use the &amp;ldquo;Serve Site&amp;rdquo; Addin to generate the &lt;code&gt;public/&lt;/code&gt; folder, and that the repo you are trying to link to Netlify actually contains a Hugo site because you must physically move the &lt;code&gt;public/&lt;/code&gt; folder. But this method can also help you diagnose other problems too.&lt;/p&gt;
&lt;p&gt;If your &lt;code&gt;public/&lt;/code&gt; folder &lt;strong&gt;does not render&lt;/strong&gt; on Netlify, you have work to do locally. I can&amp;rsquo;t tell you what it is as it can be a number of things, but you can be sure that your problem is not just the Netlify build- it is your local build too.&lt;/p&gt;
&lt;p&gt;If your &lt;code&gt;public/&lt;/code&gt; folder &lt;strong&gt;does render&lt;/strong&gt; perfectly on Netlify, but you are getting a Netlify build error, then you likely have a Hugo version problem. It might be that the version you are running locally is more recent than the version run by Netlify by default to actually build your site. The good news is there is a quick fix for this! The solution is to upgrade the Hugo version Netlify is using- see my advice 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;here for how to do that&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are happy with how your site looks but you are missing content and/or seeing old deleted content, then you may need the next few strategies to troubleshoot.&lt;/p&gt;




&lt;h2 id=&#34;4-torch-public&#34;&gt;#4: Torch &lt;code&gt;public/&lt;/code&gt;
  &lt;a href=&#34;#4-torch-public&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/YA6dmVW0gfIw8/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;When you are seeing very weird things locally, try deleting your local &lt;code&gt;public/&lt;/code&gt; folder. Then serve site again. Sometimes it can get &amp;ldquo;junked up&amp;rdquo;. I&amp;rsquo;ve found that sometimes deleted content can be a 
&lt;a href=&#34;https://community.rstudio.com/t/deleted-blog-post-still-showing-up-on-blogdown-website-in-index-html/14107&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;little sticky&lt;/a&gt;. As recommended in the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/local-preview.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;you are strongly recommended to delete the &lt;code&gt;/public/&lt;/code&gt; directory before you rebuild the site for publishing every time, because Hugo never deletes it&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Also, this has a bonus of reinforcing for you exactly what the &amp;ldquo;Serve Site&amp;rdquo; Addin &lt;em&gt;does&lt;/em&gt; - it regenerates the &lt;code&gt;public/&lt;/code&gt; folder. This is also the folder that, if you are using 
&lt;a href=&#34;post/2019-02-19-hugo-netlify-toml/&#34;&gt;Netlify to build your site&lt;/a&gt;, is in your &lt;code&gt;.gitignore&lt;/code&gt; file because Netlify (+ Hugo) generates this file &amp;ldquo;fresh&amp;rdquo; with each push to your GitHub repository.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;index_files/figure-html/unnamed-chunk-11-1.gif&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;




&lt;h2 id=&#34;5-peruse-public&#34;&gt;#5: Peruse &lt;code&gt;public/&lt;/code&gt;
  &lt;a href=&#34;#5-peruse-public&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/NS7gPxeumewkWDOIxi/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;When you notice weird things, try actually looking inside &lt;code&gt;public/&lt;/code&gt;- don&amp;rsquo;t be afraid to spelunk around in there! If you are seeing something wrong with your site, try to figure out how blogdown/Hugo is processing and rendering your content. This folder can tell you a lot! Keep in mind that your local &lt;code&gt;public/&lt;/code&gt; folder will still contain 
&lt;a href=&#34;#dates&#34;&gt;future/draft/expired content&lt;/a&gt; if you used the &amp;ldquo;Serve Site&amp;rdquo; Addin.&lt;/p&gt;




&lt;h2 id=&#34;dates&#34;&gt;#6: Back to the future
  &lt;a href=&#34;#dates&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;div class=&#34;figure&#34;&gt;
&lt;img src=&#34;https://media.giphy.com/media/ek6obDm0IwjNm/giphy.gif&#34; alt=&#34;Where are my posts?&#34;  /&gt;
&lt;p class=&#34;caption&#34;&gt;Figure 5: Where are my posts?&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;If your site renders beautifully locally, and your drag-and-drop site from &lt;code&gt;public/&lt;/code&gt; looks the same, but you are missing key content when you actually deploy to Netlify using a Hugo build, you may have inadvertently stumbled into a Hugo date time warp. This is a fairly 
&lt;a href=&#34;https://community.rstudio.com/t/serve-site-working-but-posts-dont-show-up-on-github-io/11254/3&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;common gotcha&lt;/a&gt;. Try using the drag-and-drop method again, this time first delete &lt;code&gt;public/&lt;/code&gt;, then instead of using the &amp;ldquo;Serve Site&amp;rdquo; Addin, run this in your console:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;build_site&lt;/span&gt;(local &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;FALSE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Plop this &lt;em&gt;new&lt;/em&gt; public folder in Netlify to see what your site will look like when it is actually published. What does this show you? Your local Hugo build (read: your &lt;code&gt;public/&lt;/code&gt; folder generated by &amp;ldquo;Serve Site&amp;rdquo;) differs &lt;em&gt;by design&lt;/em&gt; in 3 important ways from your deployed site built by Netlify/Hugo. By default, 
&lt;a href=&#34;https://gohugo.io/getting-started/usage/#draft-future-and-expired-content&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo will not publish&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Content with a future &lt;code&gt;publishDate&lt;/code&gt; value&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Content with &lt;code&gt;draft: true&lt;/code&gt; status&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Content with a past &lt;code&gt;expiryDate&lt;/code&gt; value&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see that these are 
&lt;a href=&#34;https://gohugo.io/getting-started/configuration/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;defaults&lt;/a&gt;. The behavior of the &amp;ldquo;Serve Site&amp;rdquo; Addin is also documented in the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/local-preview.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;This is for you to preview draft and future posts locally.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Blogdown&amp;rsquo;s &lt;code&gt;build_site(local = FALSE)&lt;/code&gt; differs from the &amp;ldquo;Serve Site&amp;rdquo; Addin in that it &lt;em&gt;will not&lt;/em&gt; render draft, future, or expired content. So your &lt;code&gt;public/&lt;/code&gt; folder from &lt;code&gt;build_site(local = FALSE)&lt;/code&gt; shows you &lt;strong&gt;exactly&lt;/strong&gt; what Netlify &lt;strong&gt;should&lt;/strong&gt; publish. Seeing it can help you troubleshoot why some content was showing up locally but not when you publish.&lt;/p&gt;
&lt;p&gt;The defaults are pretty sensible and nice to have, as you can still put these kinds of content under version control, and hence collaborate with other team members on the content without having the content publish (or expire) until you &lt;strong&gt;say so&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;To show content that Hugo was hiding, you&amp;rsquo;ll want to edit some YAML fields in the individual offending content files. For example, in the YAML of an individual content file (like a blog post), if you want to un-draft it, add or change this key/value:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title: &amp;#39;A Spoonful of Hugo&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;Troubleshooting your Build&amp;#39;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;author&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Alison Hill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;date&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;2019-03-04&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;draft&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alternatively, if you want to date something in the future (like to advertise the date of an upcoming talk) but publish now, you can use the &lt;code&gt;publishDate&lt;/code&gt; field. The &lt;code&gt;publishDate&lt;/code&gt; field is a newer addition to Hugo (&amp;gt;= v0.54.0) which, if left unset, will default to the &lt;code&gt;date&lt;/code&gt; field, which means in the individual content file YAML you can do:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title: &amp;#39;A Spoonful of Hugo&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;Get excited!!&amp;#39;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;author&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Alison Hill&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;date&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;2025-03-04&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;publishDate&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;2019-03-04&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hopefully these 6 things can help you get unstuck. If not, the 
&lt;a href=&#34;https://community.rstudio.com/tags/blogdown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio community forums&lt;/a&gt; are a great place to ask questions!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hi there</title>
      <link>https://www.apreshill.com/contact/</link>
      <pubDate>Mon, 25 Feb 2019 13:38:41 -0600</pubDate>
      
      <guid>https://www.apreshill.com/contact/</guid>
      <description>&lt;p&gt;** Contact page don&amp;rsquo;t contain a body, just the front matter above.
See form.html in the layouts folder&lt;/p&gt;
&lt;p&gt;Formspree requires a (free) account and new form to be set up. The link is made on the final published url in the field: Restrict to Domain. It is possible to register up to 2 emails free and you can select which one you want the forms to go to within Formspree in the Settings tab.
**&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hugo Page Bundles</title>
      <link>https://www.apreshill.com/blog/2019-02-spoonful-bundles/</link>
      <pubDate>Thu, 21 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2019-02-spoonful-bundles/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Just a spoonful of Hugo helps the blog go down.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;me, only somewhat kidding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this series, I&amp;rsquo;m sharing small spoonfuls of Hugo that I have learned that hopefully can help you get your site &lt;em&gt;UP&lt;/em&gt; (and even better- more efficient, more streamlined, more automated). You can read the previous posts about my &amp;ldquo;Spoonful of Hugo&amp;rdquo; series 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;about Hugo archetypes&lt;/a&gt; and 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;Hugo versions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is my third post in this series and it is breaking news.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.giphy.com/media/dZCdA82qa8d4xVIwm3/giphy.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;hugo-page-bundles&#34;&gt;Hugo Page Bundles
  &lt;a href=&#34;#hugo-page-bundles&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Well, not really breaking news, but you still may not know about it! Hugo v0.32 
&lt;a href=&#34;https://gohugo.io/news/0.32-relnotes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;introduced&lt;/a&gt; a new feature called Page Bundles, as a way to organize the content files. Blogdown users rejoice that 
&lt;a href=&#34;https://twitter.com/dvaughan32&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Davis Vaughn&lt;/a&gt; posted an 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/351&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;issue&lt;/a&gt; on the rstudio/blogdown repo to enable this option, which Yihui added shortly before rstudio::conf 2019 🎉. Here is the snippet from the &lt;code&gt;NEWS.md&lt;/code&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;One benefit of using a page bundle instead of a normal page is that you can put resource files associated with the post (such as images) under the same directory of the post itself. This means you no longer have to put them under the &lt;code&gt;static/&lt;/code&gt; directory, which has been quite confusing to Hugo beginners.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What does a blogdown/Hugo site begin to look like without page bundles? I think here is a representative example from 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/tree/c0eb070017cab794029b8ed3ac518f6e1a245a2b/content/articles&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyverse.org&lt;/a&gt; &lt;em&gt;(sorry tidyverse team- it&amp;rsquo;s not you, it&amp;rsquo;s the old Hugo).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For this team, they need an image for every post, which gets out of control pretty fast. Also, some ended up in 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/tree/c0eb070017cab794029b8ed3ac518f6e1a245a2b/static/images&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;static/&lt;/code&gt;&lt;/a&gt; too, organized by post (which I have done on my own blog, though not well or consistently).&lt;/p&gt;
&lt;p&gt;What would it look like to use page bundles?&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── about
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── index.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── posts
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── &lt;span style=&#34;color:#099&#34;&gt;2015-07-23&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;hi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;world
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── bakers.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── image1.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   ├── image2.png
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   │   └── index.Rmd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── &lt;span style=&#34;color:#099&#34;&gt;2015-07-24&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;bye&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;world
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│       └── index.Rmd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One could call this bundled file structure &amp;ldquo;tidier&amp;rdquo; 🍱.&lt;/p&gt;
&lt;p&gt;In the above, after serving site, &lt;code&gt;index.html&lt;/code&gt; files also get added to the bundle. In Hugo&amp;rsquo;s terms, these are 
&lt;a href=&#34;https://gohugo.io/content-management/page-bundles/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;leaf bundles&lt;/a&gt;. The resource files allowed in a bundle include page and non-page items like images, pdf, .csv files, etc.&lt;/p&gt;
&lt;p&gt;This is instead of:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── about
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── index.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── posts
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── &lt;span style=&#34;color:#099&#34;&gt;2015-07-23&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;hi&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;world.Rmd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── bakers.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── image1.jpg
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   ├── image2.png
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── &lt;span style=&#34;color:#099&#34;&gt;2015-07-24&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;bye&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;-&lt;/span&gt;world.Rmd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When you create a new bundled post, the actual content of the post goes in the index file of a page bundle. So:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# not bundled post
post/2015-07-23-hi-world.Rmd
# bundled post
post/2015-07-24-bye-world/index.Rmd
&lt;/code&gt;&lt;/pre&gt;



&lt;h2 id=&#34;bundle-me-blogdown&#34;&gt;Bundle Me, blogdown!
  &lt;a href=&#34;#bundle-me-blogdown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;First, read the previous post on setting up a 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-netlify-toml/&#34;&gt;netlify.toml file&lt;/a&gt;. Since using Hugo page bundles depends on Hugo v0.32 or higher, you should go ahead and update hugo then update your netlify.toml with your updated version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;update_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;hugo_version&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, let&amp;rsquo;s use the 
&lt;a href=&#34;https://usethis.r-lib.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;usethis&lt;/strong&gt; package&lt;/a&gt;.&lt;/p&gt;




&lt;h3 id=&#34;project-specific-rprofile&#34;&gt;Project-specific .Rprofile
  &lt;a href=&#34;#project-specific-rprofile&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;First, I&amp;rsquo;m going to demo here how to create a project-specific .Rprofile file- but know that you can do a user-level .Rprofile file too.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# install.packages(&amp;#34;usethis&amp;#34;) # uncomment this to install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;usethis&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;edit_r_profile&lt;/span&gt;(scope &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;project&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;These helpful messages &lt;em&gt;should&lt;/em&gt; print to your console: please note the &amp;ldquo;restart&amp;rdquo; reminder&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt; usethis::edit_r_profile(scope = &amp;#34;project&amp;#34;)
● Restart R for changes to take effect
✔ Setting active project to &amp;#39;/Users/alison/rprojs/alison.rbind.io&amp;#39;
● Modify &amp;#39;.Rprofile&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now you could add this to your file:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# in .Rprofile of the website project
if (file.exists(&amp;#34;~/.Rprofile&amp;#34;)) {
  base::sys.source(&amp;#34;~/.Rprofile&amp;#34;, envir = environment())
}

options(blogdown.new_bundle = TRUE)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The first code chunk above is from the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/global-options.html#global-options&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book&lt;/a&gt;, where we describe a workaround for loading both user and project .Rprofile files (since R technically only reads one startup profile file).&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t want this, you could add the blogdown options to your user .Rprofile instead using:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;usethis::edit_r_profile(scope = &amp;#34;user&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Heck, while you are at it, you could set a &lt;em&gt;bunch&lt;/em&gt; of options to make your blogdown life easier:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# in .Rprofile of the website project
if (file.exists(&amp;#34;~/.Rprofile&amp;#34;)) {
  base::sys.source(&amp;#34;~/.Rprofile&amp;#34;, envir = environment())
}

options(
  blogdown.author = &amp;#34;Alison Hill&amp;#34;,
  blogdown.ext = &amp;#34;.Rmd&amp;#34;,
  blogdown.subdir = &amp;#34;post&amp;#34;,
  blogdown.yaml.empty = TRUE,
  blogdown.new_bundle = TRUE,
  blogdown.title_case = TRUE
)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For the blogdown-specific options, any of these prepopulate content in your &amp;ldquo;New Post&amp;rdquo; Addin (I told you to use this 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;here&lt;/a&gt;). There is a handy 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/global-options.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;table&lt;/a&gt; from the blogdown book, summarized here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;blogdown.author&lt;/code&gt; = author of new posts&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blogdown.ext&lt;/code&gt; = default extension of new posts (can also be &amp;ldquo;.md&amp;rdquo; or &amp;ldquo;.Rmarkdown&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blogdown.subdir&lt;/code&gt; = theme-specific, you need to know your theme and content folder here&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blogdown.yaml.empty&lt;/code&gt; = I told you to do that 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blogdown.new_bundle&lt;/code&gt; = what this whole post is about!&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blogdown.title_case&lt;/code&gt; = &amp;ldquo;nEed More coFFee&amp;rdquo; &amp;ndash;&amp;gt; &amp;ldquo;Need More Coffee&amp;rdquo; (it tidies all your post titles to title case)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3 id=&#34;the-newline-thing&#34;&gt;The Newline Thing
  &lt;a href=&#34;#the-newline-thing&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Here is a &lt;strong&gt;massive&lt;/strong&gt; .Rprofile gotcha: this file &lt;strong&gt;must&lt;/strong&gt; end with a blank line. So make sure you add an empty line at the end of the file, then save it, and restart your R session.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;restart-r.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Want to make your general R life easier in the future? Follow Yihui&amp;rsquo;s 
&lt;a href=&#34;https://yihui.name/en/2018/04/rprofile-trailing-newline/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;advice&lt;/a&gt; and do this in RStudio to ensure that all source files end with a newline:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://db.yihui.name/images/rstudio-newline.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;use-bundles&#34;&gt;Use Bundles
  &lt;a href=&#34;#use-bundles&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;After restarting R, try using the &amp;ldquo;New Post&amp;rdquo; Addin, this time &lt;em&gt;with feeling&lt;/em&gt;. There is &lt;em&gt;still&lt;/em&gt; one more gotcha though. Use the Addin to create your new bundled post. The only catch is that once you are looking at your exciting new post, you should &lt;strong&gt;delete the slug&lt;/strong&gt; in the YAML (I posted an issue about this 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/370&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The reason is that you want the link to your post to be:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://alison.rbind.io/post/2019-02-21-hugo-page-bundles/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you include the slug, the link to your post will be:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://alison.rbind.io/post/2019-02-21-hugo-page-bundles/hugo-page-bundles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Another option is to update your &lt;code&gt;config.toml&lt;/code&gt; file with permalinks like 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/configuration.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui suggests&lt;/a&gt; (but beware: this will change all your past links as well, requiring some 
&lt;a href=&#34;https://yihui.name/en/2017/11/301-redirect/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify redirects&lt;/a&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[permalinks]
    post = &amp;#34;/:year/:month/:day/:slug/&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The default here from Hugo was &lt;code&gt;/post/:year-:month-:day-:slug/:slug/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A small note: if you want to add relative links from a blog post to another post in your same blog. So &lt;code&gt;[this](/post/2019-02-19-hugo-archetypes/)&lt;/code&gt; becomes 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, add images and data files to your ❤️&amp;rsquo;s content! But you may want to do one more thing&amp;hellip;&lt;/p&gt;




&lt;h2 id=&#34;update-metadata&#34;&gt;Update Metadata
  &lt;a href=&#34;#update-metadata&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you are anything like me, you may draft a blog post then come back to it later. For example, I started this post 2 days ago, but want to publish it today, 2021-05-24. The cool thing that was already built-in to blogdown is the &amp;ldquo;Update Metadata&amp;rdquo; Addin. With your blog post open (it should be called &lt;code&gt;index.Rmd&lt;/code&gt;)^[If no post is open, you will get an error: &lt;code&gt;Warning message: The current document does not seem to contain YAML metadata&lt;/code&gt;], click on Addins and select &amp;ldquo;Update Metadata&amp;rdquo;. You should see a window like this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;update-metadata.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Check the box to rename the file if the date has changed. RStudio will tell you your file has been deleted- which is technically true since the folder was renamed, but don&amp;rsquo;t panic!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;file-deleted-warning.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Click YES. The &lt;code&gt;index.Rmd&lt;/code&gt; file that is now open should have an updated date field in the YAML. In your RStudio file viewer, you may want to click on &amp;ldquo;content&amp;rdquo; at this point then navigate back to view your post- then you will then see that the folder name now has an updated date too.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The netlify.toml File</title>
      <link>https://www.apreshill.com/blog/2019-02-spoonful-netlify-toml/</link>
      <pubDate>Wed, 20 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2019-02-spoonful-netlify-toml/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Just a spoonful of Hugo helps the blog go down.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;me, only somewhat kidding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can read the previous post about my &amp;ldquo;Spoonful of Hugo&amp;rdquo; series 
&lt;a href=&#34;https://www.apreshill.com/post/2019-02-19-hugo-archetypes/&#34;&gt;here&lt;/a&gt;. In this series, I&amp;rsquo;m sharing small spoonfuls of Hugo that I have learned that hopefully can help you get your site &lt;em&gt;UP&lt;/em&gt; (and even better- more efficient, more streamlined, more automated).&lt;/p&gt;
&lt;p&gt;This is my second post in this series, and it is a relatively quick one. Just do this. This one is a no-brainer.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Thanks to 
&lt;a href=&#34;https://twitter.com/dataandme&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mara Averick&lt;/a&gt; for alerting me that with Hugo version 0.54.0 and onward, there is a trailing zero at the end of 
&lt;a href=&#34;https://github.com/gohugoio/hugo/issues/5639&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo versions now&lt;/a&gt;. So for versions before 0.54.0, use the format: 0.53; for later versions use 0.54.0 (0.54 will not work).
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;use-netlify-to-deploy&#34;&gt;Use Netlify to Deploy
  &lt;a href=&#34;#use-netlify-to-deploy&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;First, you&amp;rsquo;ll need to use Netlify! I am a very happy Netlify user and currently have approximately 33 sites deployed. To setup a new account, navigate to 
&lt;a href=&#34;https://www.netlify.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt; and click on the &lt;em&gt;Sign Up&lt;/em&gt; link.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://arm.rbind.io/slides/img/netlify-landing.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Sign up with &lt;em&gt;GitHub&lt;/em&gt; to connect your GitHub and Netlify accounts (as shown below).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;netlify-sign-up.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you use a different version control service, select GitLab or BitBucket instead.&lt;/p&gt;
&lt;p&gt;The last step is to use the Netlify UI in browser do &lt;em&gt;New Site from Git&lt;/em&gt; &amp;gt; pick your repo. You&amp;rsquo;ll be prompted to fill in these fields, they are probably already filled in correctly for you:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;netlify-deploy-settings.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The next part is the advanced build settings:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;netlify-adv-build.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;See that &lt;strong&gt;pro tip&lt;/strong&gt; about the netlify.toml? Let&amp;rsquo;s do that! You can leave these fields as is.&lt;/p&gt;




&lt;h2 id=&#34;why-netlifytoml&#34;&gt;Why netlify.toml?
  &lt;a href=&#34;#why-netlifytoml&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In their 
&lt;a href=&#34;https://www.netlify.com/docs/build-gotchas/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;Build Gotchas&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;If your build works locally, the next debugging step is to ensure the package versions we use to build match yours. You can find the settings for these in the 
&lt;a href=&#34;https://www.netlify.com/docs/build-settings/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Build Settings&lt;/a&gt; doc. That’s the leading cause of build failure.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yes that is right- package version mismatches are the leading cause of build failure with Netlify. What does this look like for blogdown users? This means that you are running a version of Hugo locally that doesn&amp;rsquo;t match the version that Netlify is using to build your site. Most of the time, you are using a more recent version of Hugo than the one Netlify uses. This means that the files your theme relies on may be using newer Hugo functions that were introduced in later Hugo versions- functions that Netlify won&amp;rsquo;t be able to find working from an older Hugo version. You&amp;rsquo;ll get &lt;em&gt;all the build errors&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You can check your local Hugo version by running this code in your R console:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;hugo_version&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#39;0.80.0&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now, we want Netlify to use this same version of Hugo when it builds your site. You can do this two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Do this in your browser (👎)&lt;/li&gt;
&lt;li&gt;Do this in your project root directory in a netlify.toml file (👍)&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;add-the-netlifytoml-file&#34;&gt;Add the netlify.toml File
  &lt;a href=&#34;#add-the-netlifytoml-file&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Adding this file means that team members can see for themselves what version of Hugo you are running- if it is buried in the Netlify UI, you can&amp;rsquo;t see that information unless you sift through the public build logs (no thanks). Making the file as plain text in the root of your blogdown project directory means that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;it is version controlled (yay!) and&lt;/li&gt;
&lt;li&gt;other people who use/learn from/contribute to your blog can &lt;em&gt;actually&lt;/em&gt; reproduce your site with the same site configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bonus:&lt;/strong&gt; you can set the Hugo versions for branch deploys too.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an example from my own 
&lt;a href=&#34;https://github.com/rbind/apreshill/blob/master/netlify.toml&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;netlify.toml&lt;/a&gt; file^[the leading zero matters for Hugo versions, so 0.53 works but .53 will not. For versions &amp;gt;= 0.54.0, the trailing zero also matters, so 0.54.0 works but 0.54 will not.]:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[build] 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  publish = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;public&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  command = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;hugo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[context.production.environment]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  HUGO_VERSION = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;0.54.0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if older, use format: 0.53 (no trailing zero)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  HUGO_ENV = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;production&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  HUGO_ENABLEGITINFO = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[context.branch-deploy.environment]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  HUGO_VERSION = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;0.54.0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if older, use format: 0.53 (no trailing zero)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[context.deploy-preview.environment]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  HUGO_VERSION = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;0.54.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can leave off the last two chunk if you don&amp;rsquo;t want to use 
&lt;a href=&#34;https://www.netlify.com/blog/2017/11/16/get-full-control-over-your-deployed-branches/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;branch deploys&lt;/a&gt; or 
&lt;a href=&#34;https://www.netlify.com/blog/2016/07/20/introducing-deploy-previews-in-netlify/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;preview deploys&lt;/a&gt;, but I ❤️ these two Netlify features and encourage you to try them out. I&amp;rsquo;ve starting drafting individual blog posts and tutorials in branches, and then I can see them rendered and share them for feedback without asking collaborators to clone and build the repository locally. It is &lt;strong&gt;lovely&lt;/strong&gt;. Every branch and pull request gets a link 🎉.&lt;/p&gt;
&lt;p&gt;So add this file to your blogdown site repo and push to GitHub.&lt;/p&gt;
&lt;p&gt;Note that, according to the 
&lt;a href=&#34;https://www.netlify.com/docs/netlify-toml-reference/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify docs&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;During a build, the following ordering determines which context covers a particular deploy: UI settings are overridden if a netlify.toml file is present in the root folder of the repo and there exists a setting for the same property/redirect/header in the toml file.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you look in your site&amp;rsquo;s Netlify deploy log, you should see entries like this:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;7:47:13 PM: Found netlify.toml. Overriding site configuration
7:47:13 PM: Starting build script
7:47:13 PM: Installing dependencies
7:47:14 PM: Started restoring cached node version
7:47:17 PM: Finished restoring cached node version
7:47:18 PM: v8.15.0 is already installed.
7:47:19 PM: Now using node v8.15.0 (npm v6.4.1)
7:47:19 PM: Attempting ruby version 2.3.6, read from environment
7:47:20 PM: Using ruby version 2.3.6
7:47:20 PM: Using PHP version 5.6
7:47:20 PM: Installing Hugo 0.54.0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Success!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hugo Archetypes</title>
      <link>https://www.apreshill.com/blog/2019-02-spoonful-archetypes/</link>
      <pubDate>Tue, 19 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2019-02-spoonful-archetypes/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Just a spoonful of Hugo helps the blog go down.&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;me, only somewhat kidding&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;As a happy blogdown user, a common story I hear from other #rstats users is that you try to change one little thing in Hugo, and the whole site breaks. 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Here_be_dragons&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Here be dragons&lt;/a&gt; for folks who aren&amp;rsquo;t web developers.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://upload.wikimedia.org/wikipedia/commons/e/ea/Carta_Marina.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m here to tell you that there are small spoonfuls of Hugo that can help you get your site &lt;em&gt;UP&lt;/em&gt; (and even better- more efficient, more streamlined, more automated), even if you are not in the least bit interested in transitioning into a career in web development 😏.&lt;/p&gt;




&lt;h2 id=&#34;my-project&#34;&gt;My Project
  &lt;a href=&#34;#my-project&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The education team at RStudio needs a website and we have a short wishlist:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We want something we can maintain ourselves,&lt;/li&gt;
&lt;li&gt;We want to look consistent with other RStudio sites on the outside, and&lt;/li&gt;
&lt;li&gt;We want to be consistent on the inside so that we can get help if/when we need it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This led me to the current 
&lt;a href=&#34;https://www.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyverse.org&lt;/a&gt; blogdown site. I wanted to make a copy of the site then customize for the education team, but I noticed that the 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;source code&lt;/a&gt; for the site didn&amp;rsquo;t make it easy for me to copy the &lt;em&gt;structure&lt;/em&gt; of the site and edit only the &lt;em&gt;content&lt;/em&gt; of the site. This is one of the real strengths of Hugo, so I embarked on a learning adventure.&lt;/p&gt;
&lt;center&gt;
&lt;iframe src=&#34;https://giphy.com/embed/VGG8UY1nEl66Y&#34; width=&#34;480&#34; height=&#34;392&#34; frameBorder=&#34;0&#34; class=&#34;giphy-embed&#34; allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&#34;https://giphy.com/gifs/adventure-latin-flinch-VGG8UY1nEl66Y&#34;&gt;via GIPHY&lt;/a&gt;&lt;/p&gt;
&lt;/center&gt;
&lt;p&gt;As a result, I have been living and breathing Hugo lately. As in, my husband now recognizes 
&lt;a href=&#34;https://www.mikedane.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mike Dane&amp;rsquo;s voice&lt;/a&gt;. You may not have have met Mike yet, but he appears in all the video tutorials in the 
&lt;a href=&#34;https://gohugo.io/documentation/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo docs&lt;/a&gt;. His screencasts have been really helpful to me, like this 
&lt;a href=&#34;https://gohugo.io/templates/introduction/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;one on templating&lt;/a&gt;. I&amp;rsquo;ve also spent a lot of time actually reading the 
&lt;a href=&#34;https://gohugo.io/documentation/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;docs&lt;/a&gt; (which are pretty good!), reading posts and answers on the 
&lt;a href=&#34;https://discourse.gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo discourse community site&lt;/a&gt;, and spelunking around inside the actual source code for two very well structured Hugo sites:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The actual 
&lt;a href=&#34;https://gohugo.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo&lt;/a&gt; site: 
&lt;a href=&#34;https://github.com/gohugoio/hugoDocs&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/gohugoio/hugoDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The 
&lt;a href=&#34;https://ropensci.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rOpenSci&lt;/a&gt; site: 
&lt;a href=&#34;https://github.com/ropensci/roweb2&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/ropensci/roweb2&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I&amp;rsquo;ll be using this post and other later posts to share some of the things I&amp;rsquo;ve learned about Hugo along the way. Mainly breadcrumbs to myself, but I hope these help other people too.&lt;/p&gt;
&lt;p&gt;For reference, I&amp;rsquo;m using Hugo via the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown R package&lt;/a&gt;, and within the 
&lt;a href=&#34;https://www.rstudio.com/products/rstudio/#Desktop&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RStudio IDE&lt;/a&gt;. These are my 
&lt;a href=&#34;https://github.com/rstudio/blogdown&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown&lt;/a&gt; and Hugo versions:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;packageVersion&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blogdown&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#39;1.3.1&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;hugo_version&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;## [1] &amp;#39;0.80.0&amp;#39;
&lt;/code&gt;&lt;/pre&gt;



&lt;h2 id=&#34;tldr-a-teaspoon-of-archetypes&#34;&gt;tl;dr: A Teaspoon of Archetypes
  &lt;a href=&#34;#tldr-a-teaspoon-of-archetypes&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add custom archetypes as &lt;code&gt;.md&lt;/code&gt; files to your project root directory (do &lt;em&gt;not&lt;/em&gt; touch the &lt;code&gt;archetypes&lt;/code&gt; folder in your &lt;code&gt;themes/archetypes&lt;/code&gt; folder).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you don&amp;rsquo;t have that as an empty folder in your project root, make one, then add your archetype files to it.&lt;/li&gt;
&lt;li&gt;If you are making a new blogdown site, I recommend using 
&lt;a href=&#34;https://arm.rbind.io/slides/blogdown.html#start-here&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;these options&lt;/a&gt; to &lt;strong&gt;keep your empty directories&lt;/strong&gt;^[These setup options are newish to the blogdown package: https://github.com/rstudio-education/arm-workshop-rsc2019/issues/8]:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(blogdown)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_site&lt;/span&gt;(theme &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;jpescador/hugo-future-imperfect&amp;#34;&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         sample &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         theme_example &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;, 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         empty_dirs &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;, &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# this!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         to_yaml &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;div class=&#34;figure&#34;&gt;
 &lt;img src=&#34;https://arm.rbind.io/slides/img/blogdown-workflow-wizard.png&#34; alt=&#34;Using the RStudio Project Wizard&#34;  /&gt;
 &lt;p class=&#34;caption&#34;&gt;(\#fig:proj-wizard)Using the RStudio Project Wizard&lt;/p&gt;
 &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the &amp;ldquo;New Post&amp;rdquo; Addin in RStudio to create &lt;strong&gt;any and all&lt;/strong&gt; new content for your site (not just &lt;em&gt;posts&lt;/em&gt;!). Be sure to use the handy dropdown menu to select from all the possible archetypes. Also, careful about the subdirectory here- some themes use &lt;em&gt;blog&lt;/em&gt;, others use &lt;em&gt;news&lt;/em&gt;, &lt;em&gt;articles&lt;/em&gt;, or &lt;em&gt;posts&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://arm.rbind.io/slides/img/blogdown-newpost-bundle.png&#34; alt=&#34;&#34;&gt;&lt;!-- --&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your archetypes, while only markdown files, &lt;em&gt;can&lt;/em&gt; include R code. When you use the Addin, be sure to choose &lt;code&gt;R Markdown (.Rmd)&lt;/code&gt; as the format so that you can run the code.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Don&amp;rsquo;t miss this 
&lt;a href=&#34;http://lcolladotor.github.io/2018/03/08/blogdown-archetype-template/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;great blog post&lt;/a&gt; by my friend and the great educator 
&lt;a href=&#34;https://twitter.com/fellgernon&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Leo Collado-Torres&lt;/a&gt; on archetypes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;a-tablespoon-of-archetypes&#34;&gt;A Tablespoon of Archetypes
  &lt;a href=&#34;#a-tablespoon-of-archetypes&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;One of the easiest things you can do for yourself is customize your site&amp;rsquo;s archetypes. From the 
&lt;a href=&#34;https://gohugo.io/content-management/archetypes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo docs&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Archetypes are templates used when creating new content.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Right away when I cloned the tidyverse site, I noticed that there were instructions for how to contribute a new article (or blog post) in the 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/blob/c0eb070017cab794029b8ed3ac518f6e1a245a2b/README.md&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;README.md&lt;/code&gt;&lt;/a&gt; and in a separate 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/blob/c0eb070017cab794029b8ed3ac518f6e1a245a2b/CONTRIBUTING.md&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;CONTRIBUTING.md&lt;/code&gt;&lt;/a&gt; file. Then I noticed this 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/issues/113&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;open GitHub issue&lt;/a&gt; from 
&lt;a href=&#34;https://twitter.com/dataandme&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Mara Averick&lt;/a&gt; (the tidyverse developer advocate) titled &amp;ldquo;Fix README/CONTRIBUTING so there&amp;rsquo;s one source of mechanical info?&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;I also noticed that there was no project root folder called &lt;code&gt;archetypes&lt;/code&gt;, which is where you would store your custom site archetype files as &lt;code&gt;.md&lt;/code&gt; files. In fact, there is no &lt;strong&gt;theme&lt;/strong&gt; folder as you might expect either, which is where you could view the default theme archetypes. Let&amp;rsquo;s look at some from other Hugo themes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The default Hugo theme for blogdown, 
&lt;a href=&#34;https://github.com/yihui/hugo-lithium&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lithium&lt;/a&gt;, has just one archetype: 
&lt;a href=&#34;https://github.com/yihui/hugo-lithium/tree/master/archetypes&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;default.md&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;title&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;date&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#555&#34;&gt;---&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In contrast, the 
&lt;a href=&#34;https://github.com/gcushen/hugo-academic&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo Academic theme&lt;/a&gt; has A LOT: 
&lt;a href=&#34;https://github.com/gcushen/hugo-academic/tree/master/archetypes;&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/gcushen/hugo-academic/tree/master/archetypes;&lt;/a&gt; here is the content of the one for new posts:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;+++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;title = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;{{ replace .Name &amp;#34;&lt;/span&gt;-&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34; | title }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;subtitle = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Add a summary to display on homepage (optional).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;summary = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;date = {{ .Date }}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;draft = &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Authors. Comma separated list, e.g. `[&amp;#34;Bob Smith&amp;#34;, &amp;#34;David Jones&amp;#34;]`.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;authors = []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Tags and categories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# For example, use `tags = []` for no tags, or the form `tags = [&amp;#34;A Tag&amp;#34;, &amp;#34;Another Tag&amp;#34;]` for one or more tags.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tags = []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;categories = []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Projects (optional).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   Associate this post with one or more of your projects.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   Simply enter your project&amp;#39;s folder or file name without extension.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   E.g. `projects = [&amp;#34;deep-learning&amp;#34;]` references &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   `content/project/deep-learning/index.md`.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   Otherwise, set `projects = []`.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# projects = [&amp;#34;internal-project&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Featured image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# To use, add an image named `featured.jpg/png` to your page&amp;#39;s folder. &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[image]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Caption (optional)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  caption = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Focal point (optional)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Options: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  focal_point = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a61717;background-color:#e3d2d2&#34;&gt;+++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A quick note: you may have noticed differences in both the content between these two files but also the structure. The first is a 
&lt;a href=&#34;https://learnxinyminutes.com/docs/yaml/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;YAML file&lt;/a&gt;, the second is a 
&lt;a href=&#34;https://learnxinyminutes.com/docs/toml/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TOML file&lt;/a&gt;. For blogdown users, you may want to use YAML. This is also why I recommend when you set up your site to use the &lt;code&gt;to_yaml = TRUE&lt;/code&gt; option (in the Project Wizard from figure &lt;a href=&#34;#fig:proj-wizard&#34;&gt;1&lt;/a&gt;, check the &amp;ldquo;Convert all metadata to YAML&amp;rdquo; box; otherwise, the exampleSite will contain TOML instead of YAML)^[If you end up with TOML in your content files, run this R code: &lt;code&gt;hugo_convert(to = &amp;quot;YAML&amp;quot;, unsafe = TRUE)&lt;/code&gt;].&lt;/p&gt;
&lt;p&gt;If you read the original tidyverse 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/blob/c0eb070017cab794029b8ed3ac518f6e1a245a2b/CONTRIBUTING.md&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;CONTRIBUTING.md&lt;/code&gt;&lt;/a&gt; file, the instructions include a fair bit of R code that I would guess means a lot of copying and pasting into new posts. For example, the R Markdown setup chunk and the code for using &lt;code&gt;usethis::use_tidy_thanks()&lt;/code&gt; for package releases. I studied the contributing guidelines, and parsed three different &amp;ldquo;kinds&amp;rdquo; of articles that are commonly contributed, each with a different archetype:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The &lt;code&gt;default.md&lt;/code&gt;- this is just for plain old markdown posts and basically sets up the YAML of the post to be the same as it is now (currently, there is no archetype dictating the content- it is pulling from a project-level 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/blob/master/.Rprofile&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;.Rprofile&lt;/a&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;default-rmarkdown.md&lt;/code&gt; which should only be used with an R Markdown post and provides only the setup chunk at the top.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;package-release.md&lt;/code&gt; which also should only be used with an R Markdown post and adds the &lt;code&gt;usethis::use_tidy_thanks()&lt;/code&gt; code chunk (this is pseudo-code so the default chunk option is set to &lt;code&gt;eval = FALSE&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So I drafted a 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/pull/271&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;pull request&lt;/a&gt; that adds 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org/pull/271/commits/26a07ae881e57607e25ef0add77d0f5958a9c143&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;these three archetypes&lt;/a&gt; to the 
&lt;a href=&#34;https://github.com/tidyverse/tidyverse.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub repository&lt;/a&gt; for the 
&lt;a href=&#34;https://www.tidyverse.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tidyverse.org&lt;/a&gt;. Here is the &amp;ldquo;after&amp;rdquo; Addin view:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;archetypes-after.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s hoping Hugo archetypes make some things about adding new content to your site easier. There is no Hugo involved, other than realizing that Hugo will look first in your &lt;code&gt;themes/&amp;lt;THEME-NAME&amp;gt;/archetypes/&lt;/code&gt; folder, then in your project root &lt;code&gt;archetypes/&lt;/code&gt; folder next. 
&lt;a href=&#34;https://twitter.com/apreshill/status/1083791211222073344&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DO&lt;/a&gt; 
&lt;a href=&#34;https://twitter.com/apreshill/status/1078494406301212672&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;NOT&lt;/a&gt; 
&lt;a href=&#34;https://arm.rbind.io/slides/blogdown.html#35&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TOUCH&lt;/a&gt; any files in your &lt;code&gt;themes/&lt;/code&gt; directory.^[Trust me on this one- if you ever want to update your site this will make that process way harder.]&lt;/p&gt;
&lt;p&gt;You may want to set up archetypes for your blogdown site if you have a &amp;ldquo;signature&amp;rdquo; R setup chunk that loads your preferred &lt;code&gt;knitr&lt;/code&gt; chunk options, common libraries you always load at setup like &lt;code&gt;tidyverse&lt;/code&gt;, &lt;code&gt;ggplot2&lt;/code&gt; themes you prefer (&lt;code&gt;theme_minimal()&lt;/code&gt; FTW), etc. This may be especially helpful if you have multiple team members contributing to a single site and you want their posts to have a uniform setup. Then archetypes can be a real time- and sanity-saver. Get more ideas from Leo&amp;rsquo;s 
&lt;a href=&#34;http://lcolladotor.github.io/2018/03/08/blogdown-archetype-template/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog post&lt;/a&gt; on archetypes. You &lt;em&gt;can&lt;/em&gt; also make 
&lt;a href=&#34;https://gohugo.io/content-management/archetypes/#directory-based-archetypes&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;directory based archetypes&lt;/a&gt; if you use Hugo page bundles, which is a topic of a future post.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Meet blogdown</title>
      <link>https://www.apreshill.com/talk/2019-rsc-blogdown/</link>
      <pubDate>Tue, 15 Jan 2019 16:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rsc-blogdown/</guid>
      <description>



</description>
    </item>
    
    <item>
      <title>Meet bookdown</title>
      <link>https://www.apreshill.com/talk/2019-rsc-bookdown/</link>
      <pubDate>Tue, 15 Jan 2019 14:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rsc-bookdown/</guid>
      <description>



</description>
    </item>
    
    <item>
      <title>Meet flexdashboard</title>
      <link>https://www.apreshill.com/talk/2019-rsc-flexdashboard/</link>
      <pubDate>Tue, 15 Jan 2019 11:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rsc-flexdashboard/</guid>
      <description>



</description>
    </item>
    
    <item>
      <title>Meet xaringan</title>
      <link>https://www.apreshill.com/talk/2019-rsc-xaringan/</link>
      <pubDate>Tue, 15 Jan 2019 09:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2019-rsc-xaringan/</guid>
      <description>



</description>
    </item>
    
    <item>
      <title>Hugo Graphite</title>
      <link>https://www.apreshill.com/project/hugo-graphite/</link>
      <pubDate>Tue, 01 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/hugo-graphite/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Data Visualization in the Tidyverse</title>
      <link>https://www.apreshill.com/talk/2018-uo-plotoff/</link>
      <pubDate>Mon, 29 Oct 2018 16:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2018-uo-plotoff/</guid>
      <description>&lt;p&gt;Using one dataset from The Great British Bake Off, I show eleven ways to visualize one dataset using eleven different versions of &amp;ldquo;tidy data.&amp;rdquo; Take-away messages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tidy data is the start of your data wrangling journey, not the end&lt;/li&gt;
&lt;li&gt;There is not a single &amp;ldquo;tidy&amp;rdquo; version of a dataset&lt;/li&gt;
&lt;li&gt;Tidy data &lt;em&gt;does&lt;/em&gt; make you more nimble!&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Read Data with Multiple Header Rows into R</title>
      <link>https://www.apreshill.com/blog/2018-07-multiple-headers/</link>
      <pubDate>Sun, 08 Jul 2018 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2018-07-multiple-headers/</guid>
      <description>&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    A shorter version of this blog post now appears as an 
&lt;a href=&#34;https://readxl.tidyverse.org/articles/articles/multiple-header-rows.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;article vignette&lt;/a&gt; for the &lt;code&gt;readxl&lt;/code&gt; package, thank you to 
&lt;a href=&#34;https://jennybryan.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jenny Bryan&lt;/a&gt; for the 
&lt;a href=&#34;https://twitter.com/JennyBryan/status/1016442080636235776&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;invitation&lt;/a&gt;!
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A problem I run up against a lot when working with other people’s data is having multiple header rows in the source data file. I like to use &lt;code&gt;readr&lt;/code&gt; functions to read in rectangular data like &lt;code&gt;.csv&lt;/code&gt; and &lt;code&gt;.tsv&lt;/code&gt; files, but if you skip rows at import using the &lt;code&gt;skip&lt;/code&gt; argument, you lose the header row as well, which usually has column names. The problem I often have is that the header row has column names that I want to keep, but I’d like to skip the second row (or more), which has some junk in it. Usually this row is some kind of data dictionary inserted between the row of column names and the actual data.&lt;/p&gt;
&lt;p&gt;In this post, I’ll walk through a solution to this problem, using the &lt;code&gt;readr&lt;/code&gt; package. You can also watch along in the video.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;div style=&amp;quot;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&amp;quot;&amp;gt;
  &amp;lt;iframe allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen=&amp;quot;allowfullscreen&amp;quot; loading=&amp;quot;eager&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; src=&amp;quot;https://www.youtube-nocookie.com/embed/Mayf_XhsQDE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&amp;quot; style=&amp;quot;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&amp;quot; title=&amp;quot;YouTube video&amp;quot;
  &amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Warning!: I made a mistake when I said &lt;code&gt;readr&lt;/code&gt; uses the first 100 rows of your data to predict column types- it uses the first 1000 rows.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;svg aria-hidden=&#34;true&#34; role=&#34;img&#34; viewBox=&#34;0 0 512 512&#34; style=&#34;height:1em;width:1em;vertical-align:-0.125em;margin-left:auto;margin-right:auto;font-size:inherit;fill:#ee5863;overflow:visible;position:relative;&#34;&gt;&lt;path d=&#34;M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z&#34;/&gt;&lt;/svg&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;data:text/csv;base64,UEsDBBQAAgAIAFaHvFjP+mrmXRMAADKLAAA0AAAAUG9zaWRGYXppb0NvcmRlc19TdGlja2VyUmljaF9FeGNlbC1EYXRhdmVyc2UudGFiLnRzds1dW28cuZV+ln9Fw8BixsBYy8PD6xh+CDZBdoEgCcb7ttgHjdX2aCOrhZY8g/n3qXvVIb8WWdXtYNtWX6qrPx6S585TrA9ff/6//cfnv3798vP+ePUfh4fbu+e7w8NVf+DD893Hf+yPT8PHPz38ur8/PO6frv68f7htzv/D5/2Xw8PzL0/tu9/3N8fuzefj4evj09WHHvq7p/FnV3/Zf3qePvx09/mX+dPNz0+H+6/P+4euocOnp6Hlz3e/7h++n+h6osORf/zb1+fDJ9Lv5sP6cDT9YVZvrv6+P37cPzz/ufttf7JSj/3BN1ft4cPx4fB89Zeb4+e5Vw0J/ZHxwPCLqw9fbu7v5XndoeS8V6//578ePt5/vd3f7j7cfHm83+/+9nD/+/++vnpN70n/SO92un3VP+z4Pasf6YedaV/1cEL7Nav+w+64/3j3eNegtkf1/PGp+/7Tvml/337Vvr6+umoP8lvz+/GpPWjfuu4dv/dvQ/fOvI9viZq3zc//8/Db7svNw++7cYx3t3e3u+df9ruPv9zd3+7+sd8/7j4dju2hL0/7+1/3T7vvf7r5bdfPzZuWgpmg3cdpEn7c5dAt7FPPCLvHr8+7u4fu0PTz7552+2EYG8q/Bezu+dB+d3fc3Tfsd/0C9X/99z+cpuG/G/h+AHaHT2cScmxZv6Xkp/3nm+Pt/f7pqQWdmvuhwzjR2uPNsfl493jTEPh4f/Ox4ba00e+f3kytNu/f7ebZKzX6eDw8Ho7t5ws03PHqHw8PN8/NubRrWOrL4bhfoB6yn7/bqfd/bNixEc/dbffL3XLif2i48/F51wjfjDKx6v2+YdXrXdvFqb+iF98fmhlqDjRCt5t0RzPjDYDZHRpZfbPo2OFh357bEvj822Ehgd9NXWwEq/36vlMjy5N/vbn/OpDydzygIymNYvq3d/8yYv614/LU683/JwPzEjWvXlPLq/KP3bW64uavO+CbP9v8DS/q2ujh1Pn/q9c6gdEpDLVnqP58tfhbgnAJxDR/oT89dLQ4D2gxl+mSvUSXXAkkDN0aXtQ1M6DF9z8dIfIuheELneN0VF7bxbtX0+k0/yzp20iwGl+vVUj60vf31evYvLIElGDapZ0k1ElSJSBW5RHvKH8RpZs3GviIBkZC9OgEiTYjcQmpqmdmGD99igsojlPXMa/r53sSq34eXfB24nwm3fID2QQ6n8MWZeyb736rR+C+nWA9GT0/T4wjjrbPbYOu2JcOXQ2tUd+kdVE8JhlV/dchaLY6GiLvjO84tv/heGQ8Q7c0+CINdnxS05vrqU2byEHHAOksezGIeqR1phnKOyGZElDdr/UApdVpbdh9l05tyLjGjtPbzxl7MbfWyH80q87kK26bJKBe4lb1onURTSdSg6RHcxFGjTpy0pXkpdKdiTJgguJaidYWcCBGebFrLrd4RsHxzodbAAE7kwBVDTUwLxLGDaPHM4cNp/P0iSdrpYE0SLxKC8Mql9AESKcuhkZCxVSkqH2K/Q9iL1IIR4OZoyXO2PVpQLRFOAwmjlLXySxcqIW2MNOQm2nIGdgaCUgjdZ3YUN9Hx4lC1o7J+hCNZxdMpyH7M/sDmtRwimsbBVZINlolDuzAYOit6oeBlZBo2i6YwUq9wZNP0CsU0yIi8eDVUsYRjBbnJnSUt5IJHbyDhZFsjGaYBHRpV9sT2gkzCvTErO6JAUGIsam+cP35Ul0IGA3m3W6ddwN8NolWo+GNAZNksQ+pcieSQkoVsBgJXhycHgOsuR+kVP6bRT/5wrWqwCDrsiUs84BZXKrrtBCcSdn10uOSB0/TyMmD2gaBPyYb7LxQGuwGmUExIdqRBQIB06DwU20owkoFZtBl+mQMYhN90tM4ccV168daJD5+tfhYDfoo3ddRcQ0vzZfy4f/0FkbSDAhsXVCzLgq2poRT11EQ2UuYygSBK+HUCYb1pW7VZBpsKKIoOX0LthJAEajRbJTrvTenSnhrHG8HYguARkJv0HKEZ2oH+kCYLxG70MH3A5SEviLXwyWgGovhQGSxAcVeBMUVh8an/imhkfElnDD63uOruvZwjAOwp5KikEz/S1oK8kMEClpymJmyKyjN4hKW9SjqiILmuqjDUwmoZlK9Bv2LuQSNNKXJBdKTixImn7abrHReJOilswzelJqsiha8LQ1HHQzwkqxabww8CMElzmjjVKZ9M8YDDpDEmjkZMLIgK+a2ztISylbZzKBKODW2LgAjYHWmT1bkw4HvIwFrJCsAAyBR5oRink8USKaEVEUPiKcTekamDGD+w0RemAcKsTmvnj9gDyRKXfokBDBtvHqYQCB9AuUlDRARaxsxNHVZuEhFoIoxjiAalijr3LgI8qfWQqpeHCUDyLKpIhnZf0hZeJmycDJxJZcdzER1uuzQ9cKWmjfDaOhcT/eD5GfV0a2dRLCUkQzMGI7HMSnTEDfy8xAqRs3KT886znprcbh59m1kG5GRcOvnAiSiJMzKrGGMJcDRfVO5XjbpcopSpV6uJI8UlegbB5ZzM4ZSeaRA8CARq1b2FF8GBmRtT8CoF3FA9GC90M8mjbQ1XNEFqVibhdoyd1oYcGQ6wgZnmhQyHtLP51F4y+lTCR2BlYyrExVEIL+a4+iF1pqBzMmMmT6ZMSMiwEAx92AmeU2WRGmI3MRDT0J/rVN6ukZB8Yhr3dRWiXZU1C2CEHEJqC6xQwQSTRKoxgIT2Ut1zJXoqeQnkIKVOEteGtZwglzmd9NkdvJIIZdwPOYqH/RsBZ1iicA1KXzSqgTHC4cjzuZ9jjxt8ph52SSPrqQALX3nLQZh+6cWe20VkoeZCymSR9cgiFySKVW1RQeac+lPRj8seI1GtSxi+MW7FtIUJ7TGUyFtS2yGIr5Uw50OAAmtoTtaL2Ia2CeJU73oQDqUsCozk4RW0BOkjbl9QmvqErrKdWGQ23JaUFhp1xnktyRSnRPEXKKoNponRlKgU60wKudEK/Tz6pNHnIOQ5NGpBUamR6+2YIykgtfD+CJM3doEcSgh1Ykpg0WOHKc+OiYDlvWSLk6p1XipggkylKcuklb9wEIOxJ6DS8vBOJqfZ19SHG6e+zZByAPapMGvmdqUDzgrBiwUOrPBgTNI4Mx6s2NsCWctm4AVFQmoY5YkgirdeKDSzRbjYAJgXZMpurGYMlF0Q24wNbZz5WXi8fuuSZBOlk3m2fITa/+iK1YBBrKr9RVaUZcwlXxoQe3iCXpe5EPLF8IBeWWJU5d4JQsyBAlQJfdZB1SY/abcZ32pyToPwSLBydiExthC93rAJxRNUzFE7Cq4aJ3V5Dk23tVsAbqPho0Pujup7wtINTi3muOdKsFUcrwDlZESqModRIvyEgbxl3wYSB9fZryQIPn13UT2JZxhX7IV+wyw+poFh6REQGmXxVz00iobOSQwIQuOxpXiNDgaXCaZ14/ztQzJSkDfJJKPuCEH40E2WgItFdkFcnEeSVJczWIeSdIGGC5RUxufeZCklkhzLR0sLY5pmseD5IBXqTexZqHAu1wuvTpDLj2oIpaAXQAQRgGtKrogH4qoaxd4yYPVUIlppxIRO1YrLrKEg4FeJBA7UoMqkZoV7rhMYl4u3KEAJEa2UcXqQZdG4ETte+aDbA/sAkhl+/UZ6ABWWz2labNx2JIFOZZ5iGG5kwIomJGY1XmRAJaHfJulcEvlTIs1uTNLgin4UotrVUUIJcQLr9GEmCt02WCt6x1VCalKXiISO0lQZUwbkeRhgl50zCNIZEscUuIpU7dqnic1z3U0RVxU5ZbMrzmj6I0iCLw8ZyTQONpJoZ0cJlC5ILHOLqakCFJ/Cb156i9bJUTEg0rQBDgswpZksWLIfAUpX34e+4SG2DUJfElvlk3W1bFrBa7JlEB11/0psFwrcaa0vqqYwOwiRwUWlyQ+LiDEllCSzkVodIVrRRJIKwNsp19C21Q/IkbIcS2Y/pBq+mLuWSt3IRxfwslj9oytES4oC8L0lUtQtYo1YCuuBSUQh0lAdAHACY2CVJYm+uYtgMs+fVzPAQQu+5Q4K70ZTSBxnlO2ZrqQvYovqqiX/P5MRaGNBIK6qA3TqGwiELRhNZeOUyjBrZ41sLwrEeOY2h1fG8ceWRQN8oBBejgVcYfWoIQ1ZI59OeuiUXmDBJpiUBCLSigu0VQndKikIScpqWA9YV82VLBqVAoRGE7Ri86DBqnCkDtQNLhmiQMloYAlCq0xb63upCkqhjaUcOq4D1zBI2HWZi41q8tDglKhpLNjBmxRWxcJe0CUbZvBoAA82CX+yoskNKqIkIiVOUCNCiISpMUlJVMhGhaiOcFgF7TaDbRWxB0alURI4CoeZVAnFJyAqcyiaA5FKLggD7FiEau2fEmjkgiA5ZfrZAssP/XYz9NqkNAITGA7TwQN0JQa4JoFv16VoVKGTTgggydxLnzVvDZIcvwmzjTIOZNQYw/CssRaPqxY/km2oeBFSlzsXNGc0ZEAyiQkCRv1ANpdIATRt1rziaohQlzPK1aVcCrLrLSlElKl/2aREcq6tiKesFwCrEudWJAkiGrDmNsL4YAyCIlDell3m24UclrU3WlRt2BVSjY6CYfKLXq6N4m2IBWej8WayU4Fg1NAkHDDRb9yvyxQF57jbq8m1g7U5UVK5YemluaIjGYL7Sgq4+dnP00BBxWtnp+7TdccsFyyzW3pIAfiJombXbxPma8GgcFOBxIYxnYVmToHMnVRrxdK50o4Vb4eqqSQMJXbvIHEQd4tLF+oOl874O1JQJ1d1l2TnNdoy4Nk4OB+OWWm8VQaA5NprFMOUKbAPCjXi3yGAvNgIUoCKuFPsbDgC89qEdmg+gmJSZNF8Kh+YjAVy+Vo3V/I6If1quVydOi1iwd5vKRVeLUcduXklLrSqNclNFCNRZQxusqjyonNYBjpkciZczgCpOpinkhI9jKsEIygSsB+ylxzRTXiQPNciNhWHnbDMZZ1zJWI3VmuowKsBUe7KXgI4LJACVWnxAPwGOP6gB2VUkiYMyPPgDzJNrQNK/uLjJbAqVylRLUSOUEreD+AkEkC1icqApIjgbXVeYhgcTahckxPkC6X/2zSthEsQUV/xtCj3SAk4No1h8iXJhHkBCUg5bUVp9Khm7YtjshtDOslENVVSJz1ia/oS5iTF67AHlo6W4WKAaibkArQ+lXyiAQzlIW8fHkQK1Uc13FpKeYhcpyGNc7b3CoqjULlBrxKF2mj5VVYBa0xRIBSNXR5oiGcl+rEUkcDEsmIOqPy3nC6760C+2tJtL74YxTxQvXH0KVAepZ7areib5sCKUdSatlW3UZzjGorEqQqGWYF1nwToDOrAFiFYq83RkmMNqBIoDdJN5MqAm/KMjARAibBAvl17HCll0mjuaNMURR3WCawq10CNCfk9Lgtyrw/K83JIZqzQ4xu5JDSt6U+kckWgcMy9zRZiXy/jmUMEJX4N++VYOQXpDsiQFEvGLR6z4DRjRpIccV4nfC/Tw1fQNNtlu3Mga4ZlVLjhMgruCyF5X+z3PUpkPjfNwuF1RQ89nKak9H2FwmwWeyB8XLMMpT1L7Q398pbE1JjNjcUFdsMMqr3SMAqq5tZc5muyliUtUFTtD44Y1S8kQDVqSZUvZECbazNZA3lTWDXbcSvoUAJICV2KBH5r5eEWJ1c1GANVtNI+fUBMKOtLRKkes5mQoPq1w8qQ+vmU0t5RvHEwmlbDmEL3/p/04UMZXZnKDcCqG5b1D4iyARHIK3d+JnZIfaUmKOx82B+hzii14nD9caDUmRfJHelEeRQnBNOL932eFJiudsXX2tkAz3HuGy17hJjNtDgCKTqIhVGu1mkYLVWwoCadiK1DQtEXynW5dP8bEAKJGm2TvINSOoT0RJoZfkZGw8kQEJWBuuodoNIi8GtvYqGDRKnBAxWueCNBLdUubBVxQ7V7djIFmQeEyS7uFzw4uWtbDWaZd4wyxZFbxLpW7jz1qAR5NTmbV8p4GzzDZW1gDd9q4gZLEqgSOw6BWBRAkUCVd0T1CK7R0bg5KJ6Ki8soSOaKXuGkUb3ukgQz6ssYbS/BpETTF1x0SajapFGnayfZ8eoy/6cQUTpEYn4DfbSYnTLjLTZam8f3TkjATtxSUYOhVxJigV98uLN3RzY+pZ0a+U7U98PfuWd8FANSYoF3bFsZx4A7pcZ/4lQEuAX3sKTPcpEai07lOzkHhIh1hHvlsgerMORZgG+LTOL7sCRIp8Qm8vtW8DeIG4wggo/JnHKVQiyhyi7mWBfJA/oUVz4TRpCoq2taGitbKM9QVLM1ctkaFOQFHR1JRMHVUadLzI247V8jXU/sVpI84jQYkjQ7UJIu7OGOSD7qb3ArDOgAUWNOmRjy4MNFyMrkQxCiluQULYlQTrTiUVlKmkT29LewZeHoToORzUrxNIC1Rb6c0AOZwJ25rCiu5AQd9aLVuZZIihiJmYBtV7o0R4fxEagzpuI0lLoXy9up9FulJffb3yI02N+w3FG9y9J2x1NqL2QKxFREoetaHPbSl9EtjBFvvSdQDk6xFwun7uaVVpU0ZKCXbxKniO4xJS6W6tLNqjIo0a00JBA1d24Fu0HQt2NwBdE1SwOGIVyo0bK7EZv/J9QSwECHgMUAAIACABWh7xYz/pq5l0TAAAyiwAANAAAAAAAAAABAAAApIEAAAAAUG9zaWRGYXppb0NvcmRlc19TdGlja2VyUmljaF9FeGNlbC1EYXRhdmVyc2UudGFiLnRzdlBLBQYAAAAAAQABAGIAAACvEwAAAAA=&#34; download=&#34;stickers.csv&#34;&gt;Download stickers.csv&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;




&lt;h2 id=&#34;being-sticker-rich&#34;&gt;Being sticker rich
  &lt;a href=&#34;#being-sticker-rich&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;This dataset is from an article published in PLOS ONE called 
&lt;a href=&#34;http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0138928&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“Being Sticker Rich: Numerical Context Influences Children’s Sharing Behavior”&lt;/a&gt;. In this study, children (ages 3–11) received a small (12, “sticker poor”) or large (30, “sticker rich”) number of stickers, and were then given the opportunity to share their windfall with either one or multiple anonymous recipients. This type of experimental design is a version of the 
&lt;a href=&#34;https://en.wikipedia.org/wiki/Dictator_game&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Dictator Game&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;stickers-plos-one.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The main research questions the authors explored were: do the number of available resources and/or the number of potential recipients alter the likelihood of a child donating and/or the amount they donate? But, in order to answer this question, we have to be able to read in the data! Luckily, these lovely developmental psychologists opted to share their data on the 
&lt;a href=&#34;https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/LHAQ5W&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Harvard Dataverse&lt;/a&gt; as a tab-delimited file.&lt;/p&gt;
&lt;p&gt;If you download the file, you can open it up in a plain text editor.
&lt;img src=&#34;stickers-txt.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;You can also open it with Microsoft Excel.
&lt;img src=&#34;stickers-table.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;read-in-the-file&#34;&gt;Read in the file
  &lt;a href=&#34;#read-in-the-file&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Let’s start by creating a variable called &lt;code&gt;link&lt;/code&gt; to store the link to the data file.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# create variable to store url&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://dataverse.harvard.edu/api/access/datafile/2712105&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The file has a &lt;code&gt;.tab&lt;/code&gt; extension, so we know it is tab-delimited. This means that the right &lt;code&gt;readr&lt;/code&gt; function for reading this file is &lt;code&gt;read_tsv&lt;/code&gt;. Since we stored our link already as a character string, that is the only argument to the &lt;code&gt;read_tsv&lt;/code&gt; function.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#install.packages(&amp;#34;readr&amp;#34;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(readr) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# load the readr package&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(link) 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# spec()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, we know the second row of data is wonky, but how can we see that in R? There are a number of ways we can go spelunking around into our data file. The easiest to print it. Since we used &lt;code&gt;readr&lt;/code&gt;, we have a tibble, which nicely prints to screen.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# # A tibble: 402 × 18
#    SubjectNumber       Condition NumberStickers NumberEnvelopes Gender Agemonths
#    &amp;lt;chr&amp;gt;               &amp;lt;chr&amp;gt;     &amp;lt;chr&amp;gt;          &amp;lt;chr&amp;gt;           &amp;lt;chr&amp;gt;      &amp;lt;dbl&amp;gt;
#  1 [Included Sample O… 1=12:1; … 1=12; 2=30     1=1 recipient;… 1=fem…        NA
#  2 1                   1         1              1               1             36
#  3 2                   1         1              1               2             36
#  4 3                   1         1              1               2             36
#  5 4                   1         1              1               1             36
#  6 5                   1         1              1               2             36
#  7 6                   1         1              1               2             36
#  8 7                   2         1              2               1             36
#  9 8                   2         1              2               2             36
# 10 9                   3         2              1               2             36
# # ℹ 392 more rows
# # ℹ 12 more variables: Ageyears &amp;lt;dbl&amp;gt;, Agegroups &amp;lt;chr&amp;gt;,
# #   `Subject&#39;sEnvelope` &amp;lt;chr&amp;gt;, LeftEnvelope &amp;lt;chr&amp;gt;, RightEnvelope &amp;lt;chr&amp;gt;,
# #   `absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)` &amp;lt;chr&amp;gt;,
# #   `PercentGiven(Outof100percent)` &amp;lt;chr&amp;gt;, Giveornot &amp;lt;chr&amp;gt;,
# #   LargerEnvelopeabs &amp;lt;chr&amp;gt;, LargeEnvelopepercent &amp;lt;chr&amp;gt;,
# #   SmallerEnvelopeabs &amp;lt;chr&amp;gt;, SmallEnvelopepercent &amp;lt;chr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Unfortunately, &lt;code&gt;dplyr::glimpse&lt;/code&gt; can’t help us much, because we have one variable name that is ridiculously long (&lt;code&gt;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&lt;/code&gt;). We’ll fix that with &lt;code&gt;dplyr::rename&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(dplyr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;glimpse&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# Rows: 402
# Columns: 18
# $ SubjectNumber                                                                  &amp;lt;chr&amp;gt; …
# $ Condition                                                                      &amp;lt;chr&amp;gt; …
# $ NumberStickers                                                                 &amp;lt;chr&amp;gt; …
# $ NumberEnvelopes                                                                &amp;lt;chr&amp;gt; …
# $ Gender                                                                         &amp;lt;chr&amp;gt; …
# $ Agemonths                                                                      &amp;lt;dbl&amp;gt; …
# $ Ageyears                                                                       &amp;lt;dbl&amp;gt; …
# $ Agegroups                                                                      &amp;lt;chr&amp;gt; …
# $ `Subject&#39;sEnvelope`                                                            &amp;lt;chr&amp;gt; …
# $ LeftEnvelope                                                                   &amp;lt;chr&amp;gt; …
# $ RightEnvelope                                                                  &amp;lt;chr&amp;gt; …
# $ `absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)` &amp;lt;chr&amp;gt; …
# $ `PercentGiven(Outof100percent)`                                                &amp;lt;chr&amp;gt; …
# $ Giveornot                                                                      &amp;lt;chr&amp;gt; …
# $ LargerEnvelopeabs                                                              &amp;lt;chr&amp;gt; …
# $ LargeEnvelopepercent                                                           &amp;lt;chr&amp;gt; …
# $ SmallerEnvelopeabs                                                             &amp;lt;chr&amp;gt; …
# $ SmallEnvelopepercent                                                           &amp;lt;chr&amp;gt; …
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;More options:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;head&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# # A tibble: 6 × 18
#   SubjectNumber        Condition NumberStickers NumberEnvelopes Gender Agemonths
#   &amp;lt;chr&amp;gt;                &amp;lt;chr&amp;gt;     &amp;lt;chr&amp;gt;          &amp;lt;chr&amp;gt;           &amp;lt;chr&amp;gt;      &amp;lt;dbl&amp;gt;
# 1 [Included Sample On… 1=12:1; … 1=12; 2=30     1=1 recipient;… 1=fem…        NA
# 2 1                    1         1              1               1             36
# 3 2                    1         1              1               2             36
# 4 3                    1         1              1               2             36
# 5 4                    1         1              1               1             36
# 6 5                    1         1              1               2             36
# # ℹ 12 more variables: Ageyears &amp;lt;dbl&amp;gt;, Agegroups &amp;lt;chr&amp;gt;,
# #   `Subject&#39;sEnvelope` &amp;lt;chr&amp;gt;, LeftEnvelope &amp;lt;chr&amp;gt;, RightEnvelope &amp;lt;chr&amp;gt;,
# #   `absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)` &amp;lt;chr&amp;gt;,
# #   `PercentGiven(Outof100percent)` &amp;lt;chr&amp;gt;, Giveornot &amp;lt;chr&amp;gt;,
# #   LargerEnvelopeabs &amp;lt;chr&amp;gt;, LargeEnvelopepercent &amp;lt;chr&amp;gt;,
# #   SmallerEnvelopeabs &amp;lt;chr&amp;gt;, SmallEnvelopepercent &amp;lt;chr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;tail&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# # A tibble: 6 × 18
#   SubjectNumber Condition NumberStickers NumberEnvelopes Gender Agemonths
#   &amp;lt;chr&amp;gt;         &amp;lt;chr&amp;gt;     &amp;lt;chr&amp;gt;          &amp;lt;chr&amp;gt;           &amp;lt;chr&amp;gt;      &amp;lt;dbl&amp;gt;
# 1 396           1         1              1               2            136
# 2 397           4         2              2               1            136
# 3 398           1         1              1               1            137
# 4 399           1         1              1               2            137
# 5 400           4         2              2               2            139
# 6 401           3         2              1               1            143
# # ℹ 12 more variables: Ageyears &amp;lt;dbl&amp;gt;, Agegroups &amp;lt;chr&amp;gt;,
# #   `Subject&#39;sEnvelope` &amp;lt;chr&amp;gt;, LeftEnvelope &amp;lt;chr&amp;gt;, RightEnvelope &amp;lt;chr&amp;gt;,
# #   `absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)` &amp;lt;chr&amp;gt;,
# #   `PercentGiven(Outof100percent)` &amp;lt;chr&amp;gt;, Giveornot &amp;lt;chr&amp;gt;,
# #   LargerEnvelopeabs &amp;lt;chr&amp;gt;, LargeEnvelopepercent &amp;lt;chr&amp;gt;,
# #   SmallerEnvelopeabs &amp;lt;chr&amp;gt;, SmallEnvelopepercent &amp;lt;chr&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;names&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;#  [1] &amp;quot;SubjectNumber&amp;quot;                                                               
#  [2] &amp;quot;Condition&amp;quot;                                                                   
#  [3] &amp;quot;NumberStickers&amp;quot;                                                              
#  [4] &amp;quot;NumberEnvelopes&amp;quot;                                                             
#  [5] &amp;quot;Gender&amp;quot;                                                                      
#  [6] &amp;quot;Agemonths&amp;quot;                                                                   
#  [7] &amp;quot;Ageyears&amp;quot;                                                                    
#  [8] &amp;quot;Agegroups&amp;quot;                                                                   
#  [9] &amp;quot;Subject&#39;sEnvelope&amp;quot;                                                           
# [10] &amp;quot;LeftEnvelope&amp;quot;                                                                
# [11] &amp;quot;RightEnvelope&amp;quot;                                                               
# [12] &amp;quot;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&amp;quot;
# [13] &amp;quot;PercentGiven(Outof100percent)&amp;quot;                                               
# [14] &amp;quot;Giveornot&amp;quot;                                                                   
# [15] &amp;quot;LargerEnvelopeabs&amp;quot;                                                           
# [16] &amp;quot;LargeEnvelopepercent&amp;quot;                                                        
# [17] &amp;quot;SmallerEnvelopeabs&amp;quot;                                                          
# [18] &amp;quot;SmallEnvelopepercent&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# View()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now we are ready to diagnose the problem!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: the first row is not really data. It is metadata about the variables, and it is screwing up &lt;strong&gt;readr&lt;/strong&gt;’s ability to predict our column types.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: we’ll use &lt;strong&gt;readr&lt;/strong&gt; and the &lt;code&gt;read_tsv()&lt;/code&gt; function to read in the data twice. In Step 1, we’ll create a character vector of the column names only. In Step 2, we’ll read in the actual data and skip the multiple header rows at the top. When we do this, we lose the column names, so we use the character vector of column names we created in Step 1 instead.&lt;/p&gt;




&lt;h2 id=&#34;read-in-the-file-again&#34;&gt;Read in the file (again)
  &lt;a href=&#34;#read-in-the-file-again&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id=&#34;step-1&#34;&gt;Step 1
  &lt;a href=&#34;#step-1&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: we want to read in the first row only and save it as a character vector called &lt;code&gt;sticker_names&lt;/code&gt;. This row contains the correct column names that we’ll need in Step 2.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sticker_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(n_max &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default: col_names = TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rename&lt;/span&gt;(stickersgiven &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;names&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sticker_names
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;#  [1] &amp;quot;SubjectNumber&amp;quot;                 &amp;quot;Condition&amp;quot;                    
#  [3] &amp;quot;NumberStickers&amp;quot;                &amp;quot;NumberEnvelopes&amp;quot;              
#  [5] &amp;quot;Gender&amp;quot;                        &amp;quot;Agemonths&amp;quot;                    
#  [7] &amp;quot;Ageyears&amp;quot;                      &amp;quot;Agegroups&amp;quot;                    
#  [9] &amp;quot;Subject&#39;sEnvelope&amp;quot;             &amp;quot;LeftEnvelope&amp;quot;                 
# [11] &amp;quot;RightEnvelope&amp;quot;                 &amp;quot;stickersgiven&amp;quot;                
# [13] &amp;quot;PercentGiven(Outof100percent)&amp;quot; &amp;quot;Giveornot&amp;quot;                    
# [15] &amp;quot;LargerEnvelopeabs&amp;quot;             &amp;quot;LargeEnvelopepercent&amp;quot;         
# [17] &amp;quot;SmallerEnvelopeabs&amp;quot;            &amp;quot;SmallEnvelopepercent&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;glimpse&lt;/span&gt;(sticker_names)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;#  chr [1:18] &amp;quot;SubjectNumber&amp;quot; &amp;quot;Condition&amp;quot; &amp;quot;NumberStickers&amp;quot; &amp;quot;NumberEnvelopes&amp;quot; ...
&lt;/code&gt;&lt;/pre&gt;




&lt;h3 id=&#34;step-2&#34;&gt;Step 2
  &lt;a href=&#34;#step-2&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: we want to read in all the rows &lt;em&gt;except&lt;/em&gt; for the first two rows, which contained the variable names and variable descriptions. We want to save this as &lt;code&gt;stickers&lt;/code&gt;, and set the column names to the &lt;code&gt;sticker_names&lt;/code&gt; object we created in Step 1.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(skip &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt;, col_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; sticker_names)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;glimpse&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# Rows: 401
# Columns: 18
# $ SubjectNumber                   &amp;lt;dbl&amp;gt; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,…
# $ Condition                       &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3,…
# $ NumberStickers                  &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,…
# $ NumberEnvelopes                 &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1,…
# $ Gender                          &amp;lt;dbl&amp;gt; 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1,…
# $ Agemonths                       &amp;lt;dbl&amp;gt; 36, 36, 36, 36, 36, 36, 36, 36, 36, 36…
# $ Ageyears                        &amp;lt;dbl&amp;gt; 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
# $ Agegroups                       &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
# $ `Subject&#39;sEnvelope`             &amp;lt;dbl&amp;gt; 7, 12, 4, 7, 12, 8, 8, 11, 26, 30, 12,…
# $ LeftEnvelope                    &amp;lt;dbl&amp;gt; 5, 0, 8, 5, 0, 4, 2, 1, 4, 0, 18, 18, …
# $ RightEnvelope                   &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 0, NA, NA, …
# $ stickersgiven                   &amp;lt;dbl&amp;gt; 5, 0, 8, 5, 0, 4, 4, 1, 4, 0, 18, 18, …
# $ `PercentGiven(Outof100percent)` &amp;lt;dbl&amp;gt; 0.42, 0.00, 0.67, 0.42, 0.00, 0.33, 0.…
# $ Giveornot                       &amp;lt;dbl&amp;gt; 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0,…
# $ LargerEnvelopeabs               &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 1, NA, NA, …
# $ LargeEnvelopepercent            &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 0.5000000, 1.0…
# $ SmallerEnvelopeabs              &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 0, NA, NA, …
# $ SmallEnvelopepercent            &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 0.5000000, 0.0…
&lt;/code&gt;&lt;/pre&gt;




&lt;h2 id=&#34;fin&#34;&gt;Fin!
  &lt;a href=&#34;#fin&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;All together now: the final solution!&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# load packages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(readr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(dplyr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# create variable to store url&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://dataverse.harvard.edu/api/access/datafile/2712105&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# read in column names only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sticker_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(n_max &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default: col_names = TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rename&lt;/span&gt;(stickersgiven &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;names&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# read in data, set column names&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(skip &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt;, col_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; sticker_names)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;addendum&#34;&gt;Addendum
  &lt;a href=&#34;#addendum&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For good measure, I would add a final step to everything above and use &lt;code&gt;janitor::clean_names()&lt;/code&gt; to put all the variable names into snake case. So my final final solution is here:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# load packages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(readr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(dplyr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(janitor)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# create variable to store url&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://dataverse.harvard.edu/api/access/datafile/2712105&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# read in column names only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sticker_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(n_max &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default: col_names = TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rename&lt;/span&gt;(stickersgiven &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;names&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# read in data, set column names&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; link &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(skip &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;2&lt;/span&gt;, col_names &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; sticker_names) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;clean_names&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# # A tibble: 401 × 18
#    subject_number condition number_stickers number_envelopes gender agemonths
#             &amp;lt;dbl&amp;gt;     &amp;lt;dbl&amp;gt;           &amp;lt;dbl&amp;gt;            &amp;lt;dbl&amp;gt;  &amp;lt;dbl&amp;gt;     &amp;lt;dbl&amp;gt;
#  1              1         1               1                1      1        36
#  2              2         1               1                1      2        36
#  3              3         1               1                1      2        36
#  4              4         1               1                1      1        36
#  5              5         1               1                1      2        36
#  6              6         1               1                1      2        36
#  7              7         2               1                2      1        36
#  8              8         2               1                2      2        36
#  9              9         3               2                1      2        36
# 10             10         3               2                1      2        36
# # ℹ 391 more rows
# # ℹ 12 more variables: ageyears &amp;lt;dbl&amp;gt;, agegroups &amp;lt;dbl&amp;gt;,
# #   subjects_envelope &amp;lt;dbl&amp;gt;, left_envelope &amp;lt;dbl&amp;gt;, right_envelope &amp;lt;dbl&amp;gt;,
# #   stickersgiven &amp;lt;dbl&amp;gt;, percent_given_outof100percent &amp;lt;dbl&amp;gt;, giveornot &amp;lt;dbl&amp;gt;,
# #   larger_envelopeabs &amp;lt;dbl&amp;gt;, large_envelopepercent &amp;lt;dbl&amp;gt;,
# #   smaller_envelopeabs &amp;lt;dbl&amp;gt;, small_envelopepercent &amp;lt;dbl&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;glimpse&lt;/span&gt;(stickers)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# Rows: 401
# Columns: 18
# $ subject_number                &amp;lt;dbl&amp;gt; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1…
# $ condition                     &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4…
# $ number_stickers               &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2…
# $ number_envelopes              &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2…
# $ gender                        &amp;lt;dbl&amp;gt; 1, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1…
# $ agemonths                     &amp;lt;dbl&amp;gt; 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, …
# $ ageyears                      &amp;lt;dbl&amp;gt; 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3…
# $ agegroups                     &amp;lt;dbl&amp;gt; 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
# $ subjects_envelope             &amp;lt;dbl&amp;gt; 7, 12, 4, 7, 12, 8, 8, 11, 26, 30, 12, 1…
# $ left_envelope                 &amp;lt;dbl&amp;gt; 5, 0, 8, 5, 0, 4, 2, 1, 4, 0, 18, 18, 0,…
# $ right_envelope                &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 0, NA, NA, NA…
# $ stickersgiven                 &amp;lt;dbl&amp;gt; 5, 0, 8, 5, 0, 4, 4, 1, 4, 0, 18, 18, 0,…
# $ percent_given_outof100percent &amp;lt;dbl&amp;gt; 0.42, 0.00, 0.67, 0.42, 0.00, 0.33, 0.33…
# $ giveornot                     &amp;lt;dbl&amp;gt; 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1…
# $ larger_envelopeabs            &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 1, NA, NA, NA…
# $ large_envelopepercent         &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 0.5000000, 1.000…
# $ smaller_envelopeabs           &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 2, 0, NA, NA, NA…
# $ small_envelopepercent         &amp;lt;dbl&amp;gt; NA, NA, NA, NA, NA, NA, 0.5000000, 0.000…
&lt;/code&gt;&lt;/pre&gt;




&lt;h2 id=&#34;bonus-data-dictionary&#34;&gt;Bonus data dictionary
  &lt;a href=&#34;#bonus-data-dictionary&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;As an extra bonus, when you do have extra header rows, you can create a data dictionary using the &lt;code&gt;gather()&lt;/code&gt; function from the &lt;strong&gt;tidyr&lt;/strong&gt; package.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(tidyr)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers_dict &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;read_tsv&lt;/span&gt;(link, n_max &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;1&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;rename&lt;/span&gt;(stickersgiven &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;absolutenumberofstickersgiven(Conditions1or3:Outof12;Conditions2or4:Outof30)&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;clean_names&lt;/span&gt;() &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;%&amp;gt;%&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;gather&lt;/span&gt;(variable_name, variable_description)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stickers_dict
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;# # A tibble: 18 × 2
#    variable_name                 variable_description                           
#    &amp;lt;chr&amp;gt;                         &amp;lt;chr&amp;gt;                                          
#  1 subject_number                [Included Sample Only]                         
#  2 condition                     1=12:1; 2=12:2, 3=30:1, 4=30:2                 
#  3 number_stickers               1=12; 2=30                                     
#  4 number_envelopes              1=1 recipient; 2=2 recipients                  
#  5 gender                        1=female; 2=male                               
#  6 agemonths                     &amp;lt;NA&amp;gt;                                           
#  7 ageyears                      &amp;lt;NA&amp;gt;                                           
#  8 agegroups                     1=3-4yrs; 2=5-6yrs; 3=7-8yrs; 4=9-11yrs        
#  9 subjects_envelope             How many stickers did the child keep for thems…
# 10 left_envelope                 1 recipient conditions: How many stickers the …
# 11 right_envelope                1 recipient conditions: N/A; 2 recipient condi…
# 12 stickersgiven                 Regardless of condition, the number of sticker…
# 13 percent_given_outof100percent Regardless of condition, the proportion of sti…
# 14 giveornot                     1=Donated 1 or more stickers to the recipient(…
# 15 larger_envelopeabs            Raw number of stickers (out of 30: Condition 2…
# 16 large_envelopepercent         Proportion of stickers (out of 100%; Condition…
# 17 smaller_envelopeabs           Raw number of stickers (out of 30: Condition 2…
# 18 small_envelopepercent         Proportion of stickers (out of 100%; Condition…
&lt;/code&gt;&lt;/pre&gt;




&lt;h2 id=&#34;useful-resources&#34;&gt;Useful resources
  &lt;a href=&#34;#useful-resources&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Great blog post from 
&lt;a href=&#34;https://twitter.com/lisadebruine&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Lisa DeBruine&lt;/a&gt; using &lt;code&gt;readxl&lt;/code&gt; to read in data with multiple header rows (including those with merged cells!): 
&lt;a href=&#34;https://debruine.github.io/multirow_headers.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://debruine.github.io/multirow_headers.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;This GitHub issue with Hadley’s response that solved all my problems:

&lt;a href=&#34;https://github.com/tidyverse/readr/issues/179&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/tidyverse/readr/issues/179&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My original tweet when I discovered this trick!&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;Neat &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/readr?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#readr&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/tidyverse?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#tidyverse&lt;/a&gt; solution to read data when 1st row is header + 2nd row is junk, thanks &lt;a href=&#34;https://twitter.com/hadleywickham?ref_src=twsrc%5Etfw&#34;&gt;@hadleywickham&lt;/a&gt; &lt;a href=&#34;https://t.co/5TuH7vNaID&#34;&gt;https://t.co/5TuH7vNaID&lt;/a&gt; &lt;a href=&#34;https://t.co/woZ3HuECge&#34;&gt;pic.twitter.com/woZ3HuECge&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/904772340902379520?ref_src=twsrc%5Etfw&#34;&gt;September 4, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
</description>
    </item>
    
    <item>
      <title>LICENSE: CC-BY-SA</title>
      <link>https://www.apreshill.com/license/</link>
      <pubDate>Thu, 28 Jun 2018 00:00:00 +0100</pubDate>
      
      <guid>https://www.apreshill.com/license/</guid>
      <description>&lt;p&gt;My 
&lt;a href=&#34;https://www.apreshill.com/post/&#34;&gt;blog posts&lt;/a&gt; are released under a 
&lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Creative Commons Attribution-ShareAlike 4.0 International License&lt;/a&gt;.&lt;/p&gt;
&lt;center&gt;
&lt;i class=&#34;fab fa-creative-commons fa-2x&#34;&gt;&lt;/i&gt;&lt;i class=&#34;fab fa-creative-commons-by fa-2x&#34;&gt;&lt;/i&gt;&lt;i class=&#34;fab fa-creative-commons-sa fa-2x&#34;&gt;&lt;/i&gt;
&lt;/center&gt;
</description>
    </item>
    
    <item>
      <title>Big Magic with R: Creative Learning Beyond Fear</title>
      <link>https://www.apreshill.com/talk/2018-cascadia-bigmagic/</link>
      <pubDate>Sat, 02 Jun 2018 08:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2018-cascadia-bigmagic/</guid>
      <description>&lt;p&gt;Inspired by the book “Big Magic: Creative Living Beyond Fear” by Elizabeth Gilbert, Alison will talk about the five essential ingredients needed to creatively learn R and why these elements are also essential for advanced users to take their R skills to the next level. You will hear practical advice for when, where, and how to start a project in R, and how your learning can add value- both to your own knowledge and to contribute to the larger community of R learners. Along the way, she will share recommended resources and evidence-based strategies for project-based learning. Alison’s background working with both new and advanced R users gives her a unique perspective on this topic.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Take a Sad Plot &amp; Make It Better</title>
      <link>https://www.apreshill.com/talk/2018-ohsu-sad-plot-better/</link>
      <pubDate>Fri, 06 Apr 2018 16:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2018-ohsu-sad-plot-better/</guid>
      <description>&lt;p&gt;Join us on April 6 for a walk-through of how to take a sad plot and make it better by Alison Hill, who co-teaches the CS631 Data Visualization course. Alison will take us through one plot’s life cycle, from a sad Powerpoint slide to an Excel chart and finally to the finished product made with the ggplot2 package in R. We will discuss why each version of the plot fails in different ways, how each iteration improved on the last one, and which data visualization principles are at work in the final plot to communicate a clear scientific story.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://apreshill.github.io/ohsu-biodatavis/slides_files/figure-html/animated.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Following this, Eric Earl (Senior RA in the DCAN Labs) will show a case study of visualization in neuroimaging research.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Subtyping cognitive profiles in Autism Spectrum Disorder using a random forest algorithm</title>
      <link>https://www.apreshill.com/publication/2017-subtyping/</link>
      <pubDate>Wed, 20 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2017-subtyping/</guid>
      <description></description>
    </item>
    
    <item>
      <title>R-Ladies Presentation Ninja</title>
      <link>https://www.apreshill.com/blog/2017-12-rladies-xaringan/</link>
      <pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2017-12-rladies-xaringan/</guid>
      <description>&lt;p&gt;So, you are doing an 
&lt;a href=&#34;https://rladies.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies&lt;/a&gt; presentation…that’s awesome!&lt;/p&gt;




&lt;h2 id=&#34;the-short-version&#34;&gt;The short version
  &lt;a href=&#34;#the-short-version&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I made an 
&lt;a href=&#34;https://rladies.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies&lt;/a&gt; theme for 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt; slides&lt;/a&gt;. My original tweet about it:&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-dnt=&#34;true&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;if you want to use &lt;a href=&#34;https://twitter.com/xieyihui?ref_src=twsrc%5Etfw&#34;&gt;@xieyihui&lt;/a&gt;&amp;#39;s awesome &lt;a href=&#34;https://twitter.com/hashtag/xaringan?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#xaringan&lt;/a&gt; package for &lt;a href=&#34;https://twitter.com/hashtag/rstats?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#rstats&lt;/a&gt; slides but want more &lt;a href=&#34;https://twitter.com/hashtag/Rladies?src=hash&amp;amp;ref_src=twsrc%5Etfw&#34;&gt;#Rladies&lt;/a&gt; flavor, there is now a built-in theme for that (with code highlighting)! Thanks to the awesome &lt;a href=&#34;https://twitter.com/RLadiesGlobal?ref_src=twsrc%5Etfw&#34;&gt;@RLadiesGlobal&lt;/a&gt; starter kit. Update the CSS in your YAML to use  🧙🏽‍♀️🧞‍♀️ &lt;a href=&#34;https://t.co/YnlGSVAMsl&#34;&gt;pic.twitter.com/YnlGSVAMsl&lt;/a&gt;&lt;/p&gt;&amp;mdash; Alison Hill (@apreshill) &lt;a href=&#34;https://twitter.com/apreshill/status/935973869554487296?ref_src=twsrc%5Etfw&#34;&gt;November 29, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;p&gt;The way to use the theme is to update the YAML like so:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;xaringan::moon_reader&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;css&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;[&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rladies&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rladies-fonts&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Make sure your version of &lt;strong&gt;xaringan&lt;/strong&gt; is up-to-date.&lt;/p&gt;
&lt;p&gt;Below is a 
&lt;a href=&#34;https://alison.rbind.io/slides/rladies-demo-slides.html#1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;demo slide deck&lt;/a&gt; using the theme.&lt;/p&gt;
&lt;iframe src=&#34;https://alison.rbind.io/slides/rladies-demo-slides.html#1&#34; width=&#34;672&#34; height=&#34;400px&#34; data-external=&#34;1&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;(view the 
&lt;a href=&#34;https://github.com/rbind/apreshill/blob/master/static/slides/rladies-demo-slides.Rmd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;source .Rmd on GitHub&lt;/a&gt;)&lt;/p&gt;




&lt;h2 id=&#34;the-longer-story&#34;&gt;The longer story
  &lt;a href=&#34;#the-longer-story&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I recommend 
&lt;a href=&#34;https://yihui.name&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui’s&lt;/a&gt; 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt; package&lt;/a&gt; for slides. This is an R package, available through GitHub, for creating slideshows with 
&lt;a href=&#34;https://remarkjs.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;remark.js&lt;/a&gt; through R Markdown. This means that you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;write all your slides in Markdown text&lt;/li&gt;
&lt;li&gt;include chunks of R code and rendered output like plots, results, tables, etc. in your slides&lt;/li&gt;
&lt;li&gt;use git for version control and share your GitHub repository&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This makes 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt;&lt;/a&gt; ideal for an 
&lt;a href=&#34;https://rladies.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies&lt;/a&gt; presentation!&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;To use the package, you’ll need the 
&lt;a href=&#34;https://cran.r-project.org/web/packages/devtools/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;devtools&lt;/strong&gt; package&lt;/a&gt; installed so that you can use the &lt;code&gt;install_github&lt;/code&gt; function. Then do:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;devtools&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;yihui/xaringan&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As Yihui points out in the documentation, if you use RStudio, you can use the menu to navigate to &lt;code&gt;File -&amp;gt; New File -&amp;gt; R Markdown -&amp;gt; From Template -&amp;gt; Ninja Presentation&lt;/code&gt;, and you will see an R Markdown example.&lt;/p&gt;
&lt;p&gt;I first used 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt;&lt;/a&gt; a few months ago. I was working with 
&lt;a href=&#34;https://yihui.name&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui&lt;/a&gt; on the 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blogdown book&lt;/a&gt;, and had signed up to lead a 
&lt;a href=&#34;https://alison.rbind.io/talk/blogdown-meetup/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;workshop&lt;/a&gt; for the 
&lt;a href=&#34;https://www.meetup.com/portland-r-user-group/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Portland R User group&lt;/a&gt;. Obviously, such a workshop could not have powerpoint slides, so it seemed like the perfect time to learn 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For my 
&lt;a href=&#34;https://alison.rbind.io/talk/blogdown-meetup/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;workshop&lt;/a&gt;, I made a simple website for the newly founded 
&lt;a href=&#34;https://rladies-pdx.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies PDX&lt;/a&gt; using blogdown (Thanks to 
&lt;a href=&#34;https://twitter.com/mmmpork&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Augustina&lt;/a&gt; and 
&lt;a href=&#34;https://twitter.com/deekshathati&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Deeksha&lt;/a&gt;, our fearless organizers). So naturally, my slides needed more purple.&lt;/p&gt;
&lt;p&gt;Luckily, the R-Ladies run a tight ship- they have a 
&lt;a href=&#34;https://github.com/rladies/starter-kit&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;starter kit on GitHub&lt;/a&gt; that details all the pretty purples they like.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;rladies-palette.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;About a month after I did the 
&lt;a href=&#34;https://alison.rbind.io/talk/blogdown-meetup/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;R-Ladies blogdown workshop&lt;/a&gt;, I saw this 
&lt;a href=&#34;https://yihui.name/en/2017/10/xaringan-themes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog post&lt;/a&gt; by 
&lt;a href=&#34;https://yihui.name&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;yihui-xaringan-themes.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;First, I thought this was such a cool idea and I hope more people make and submit themes. Then I realized, I had already made a theme! I submitted a pull request&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;, Yihui helped me make some edits to the CSS files to make them more parsimonious with the default theme, I electronically signed a contributor agreement, and now the theme is there for you all to enjoy and use! You use the theme by editing the YAML:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000080&#34;&gt;output&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;xaringan::moon_reader&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#000080&#34;&gt;css&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;[&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;default&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rladies&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rladies-fonts&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you use the theme and you are on twitter, I’d love to see it- 
&lt;a href=&#34;https://twitter.com/intent/tweet?user_id=3199856542&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;please mention me on twitter!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Examples!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My blogdown workshop slides: 
&lt;a href=&#34;http://127.0.0.1:4321/talk/blogdown-meetup/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“Up and running with blogdown”&lt;/a&gt; (view the 
&lt;a href=&#34;https://github.com/rbind/apreshill/blob/master/static/slides/blogdown-workshop-slides.Rmd&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;source .Rmd on GitHub&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe src=&#34;https://alison.rbind.io/slides/blogdown-workshop-slides.html#1&#34; width=&#34;672&#34; height=&#34;400px&#34; data-external=&#34;1&#34;&gt;
&lt;/iframe&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;http://jessicaminnier.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Jessica Minnier’s&lt;/a&gt; slides for 
&lt;a href=&#34;http://jminnier-talks.netlify.com/2018_02_shiny_csp/minnier_csp2018#1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;“Building Shiny Apps: With Great Power Comes Great Responsibility”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe src=&#34;https://jminnier-talks.netlify.com/2018_02_shiny_csp/minnier_csp2018#1&#34; width=&#34;672&#34; height=&#34;400px&#34; data-external=&#34;1&#34;&gt;
&lt;/iframe&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;If you are new to 
&lt;a href=&#34;https://github.com/yihui/xaringan&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;xaringan&lt;/strong&gt;&lt;/a&gt;, don’t miss the 
&lt;a href=&#34;https://github.com/yihui/xaringan/wiki&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;wiki!&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Yihui’s 
&lt;a href=&#34;https://yihui.name/en/2017/10/xaringan-themes/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;technical instructions&lt;/a&gt; for contributors section of that blog post has been revised and is very detailed&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>blogdown: Creating Websites with R Markdown</title>
      <link>https://www.apreshill.com/publication/2017-blogdown/</link>
      <pubDate>Thu, 14 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2017-blogdown/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Labhub Workshop</title>
      <link>https://www.apreshill.com/talk/2017-ohsu-labhub/</link>
      <pubDate>Fri, 08 Dec 2017 16:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2017-ohsu-labhub/</guid>
      <description>




  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://www.apreshill.com/talk/2017-ohsu-labhub/ohsu-os-panel_hu7d76264941752927e3f4d28cdfb202dc_337688_2000x2000_fit_box_3.png&#34; &gt;


  &lt;img data-src=&#34;https://www.apreshill.com/talk/2017-ohsu-labhub/ohsu-os-panel_hu7d76264941752927e3f4d28cdfb202dc_337688_2000x2000_fit_box_3.png&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;830&#34; height=&#34;1080&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The landscape of scientific communication is changing dramatically.  Diverse stakeholders, including major funders and universities are demonstrating a growing interest and investment in open scientific principles and practices.  Researchers, students, and the institutions that support them are needing to navigate new expectations, workflows, and policies against a backdrop of relatively unchanged means and measures of scientific success.&lt;/p&gt;
&lt;p&gt;Sound complicated?  Join us on December 8th from 3:00 to 4:00 PM for a panel discussion with OHSU leaders and early career researchers on the evolving landscape of scientific communication.  We’ll explore the drivers behind the calls for “openness”, what this means in practice, and the real world compatibility and tensions between open science and student, researcher, and institutional success.&lt;/p&gt;
&lt;p&gt;Confirmed panelists include:&lt;/p&gt;
&lt;p&gt;Dr. Gary Westbrook, Vollum Institute Senior Scientist and Director of the Neuroscience Graduate Program&lt;/p&gt;
&lt;p&gt;Dr. Bita Moghaddam, Chair of the Department of Behavioral Neuroscience&lt;/p&gt;
&lt;p&gt;Dr. Abhinav Nellore, Assistant Professor, Biomedical Engineering and the Department of Surgery&lt;/p&gt;
&lt;p&gt;Dr. Alison Hill, Associate Professor, Center for Spoken Language Understanding&lt;/p&gt;
&lt;p&gt;The panel will be followed by food, drinks, and two hands on workshops from 4:00 - 5:30:&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;ohsu-os-labhub-workshop.png&#34; &gt;


  &lt;img src=&#34;ohsu-os-labhub-workshop.png&#34; alt=&#34;&#34;  &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;In this workshop, Dr. Alison Hill and Robin Champieux demonstrated tools and methods for building transparency within a lab, and onboarding new graduate students and postdocs. We provided a 
&lt;a href=&#34;https://github.com/apreshill/labhub&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;template GitHub repository&lt;/a&gt; and code of conduct designed to facilitate a healthy and productive learning and research environment. You are encouraged to use these tools to communicate expectations, document protocols, receive feedback, and facilitate the long-term value of students’ and trainees’ contributions.&lt;/p&gt;
&lt;p&gt;Labhub is a &lt;em&gt;work in progress&lt;/em&gt;. We created 
&lt;a href=&#34;https://github.com/apreshill/labhub&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;this repository&lt;/a&gt; as an education and demonstration tool for faculty, postdocs, and students curious about how documentation, open science workflows, and tools like Github can contribute to a healthy and productive research environment. Your ideas and contributions are welcome!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Up &amp; Running with blogdown</title>
      <link>https://www.apreshill.com/talk/2017-pdxr-blogdown/</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2017-pdxr-blogdown/</guid>
      <description>&lt;p&gt;See project links for more details.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Up &amp; Running with blogdown</title>
      <link>https://www.apreshill.com/project/up-running-blogdown/</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/up-running-blogdown/</guid>
      <description>&lt;p&gt;We will cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;blogdown&lt;/strong&gt; R package&lt;/li&gt;
&lt;li&gt;Hugo themes&lt;/li&gt;
&lt;li&gt;Adding content to personalize your site&lt;/li&gt;
&lt;li&gt;Posting&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t want to blog? / just want to knit?&lt;/li&gt;
&lt;li&gt;Customizing themes&lt;/li&gt;
&lt;li&gt;Troubleshooting common problems&lt;/li&gt;
&lt;li&gt;Deployment options and recommendations&lt;/li&gt;
&lt;li&gt;Domain options available through RStudio/rbind&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are planning on attending this workshop, please click on the HTML link above for how to prepare before the workshop.&lt;/p&gt;





  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://www.apreshill.com/project/up-running-blogdown/blogdown-meetup_hu63626b89c4debd1240b389a830474d85_3596239_2000x2000_fit_q75_box.jpg&#34; &gt;


  &lt;img data-src=&#34;https://www.apreshill.com/project/up-running-blogdown/blogdown-meetup_hu63626b89c4debd1240b389a830474d85_3596239_2000x2000_fit_q75_box.jpg&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;2550&#34; height=&#34;3300&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Labhub</title>
      <link>https://www.apreshill.com/project/labhub/</link>
      <pubDate>Thu, 14 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/labhub/</guid>
      <description>&lt;p&gt;In this workshop, Dr. Alison Hill and Robin Champieux demonstrated tools and methods for building transparency within a lab, and onboarding new graduate students and postdocs. We provided a 
&lt;a href=&#34;https://github.com/apreshill/labhub&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;template GitHub repository&lt;/a&gt; and code of conduct designed to facilitate a healthy and productive learning and research environment. You are encouraged to use these tools to communicate expectations, document protocols, receive feedback, and facilitate the long-term value of students’ and trainees’ contributions.&lt;/p&gt;
&lt;p&gt;Labhub is a &lt;em&gt;work in progress&lt;/em&gt;. We created 
&lt;a href=&#34;https://github.com/apreshill/labhub&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;this repository&lt;/a&gt; as an education and demonstration tool for faculty, postdocs, and students curious about how documentation, open science workflows, and tools like Github can contribute to a healthy and productive research environment. Your ideas and contributions are welcome!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Up &amp; Running with blogdown</title>
      <link>https://www.apreshill.com/blog/2017-06-up-running-with-blogdown/</link>
      <pubDate>Mon, 12 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/blog/2017-06-up-running-with-blogdown/</guid>
      <description>&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    &lt;p&gt;Greetings from the future!&lt;/p&gt;
&lt;p&gt;A lot has changed about blogdown, Hugo, and the Academic theme (now Wowchemy) since the time this post was written.&lt;/p&gt;
&lt;p&gt;An updated tutorial can now be found 
&lt;a href=&#34;https://www.apreshill.com/post/new-year-new-blogdown&#34;&gt;here&lt;/a&gt; &amp;#x1f389;&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2 id=&#34;read-up-on-blogdown&#34;&gt;Read up on blogdown
  &lt;a href=&#34;#read-up-on-blogdown&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Before you start, I recommend reading the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt;: Creating Websites with R Markdown&lt;/a&gt; by Yihui Xie and Amber Thomas&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;http://amber.rbind.io/blog/2016/12/19/creatingsite/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Making a Website Using &lt;code&gt;blogdown&lt;/code&gt;, Hugo, and GitHub pages&lt;/a&gt; also by Amber Thomas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also found this comment by Eric Nantz, the creator of 
&lt;a href=&#34;http://r-podcast.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;the R-Podcast&lt;/a&gt;, in the 
&lt;a href=&#34;https://github.com/rbind/support&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;rbind/support&lt;/code&gt; issues section on GitHub&lt;/a&gt; to be helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://github.com/rbind/support/issues/12&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://github.com/rbind/support/issues/12&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;caveats-disclaimers-etc&#34;&gt;Caveats, disclaimers, etc.
  &lt;a href=&#34;#caveats-disclaimers-etc&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Even with all the great resources I listed above, getting myself up and running took a few tries, so in this post I&amp;rsquo;m passing along what ended up working for me. Everyone&amp;rsquo;s mileage may vary, though, depending on your operating system and your approach. About me: I am a macOS user, and I use R, RStudio, Git (usually via 
&lt;a href=&#34;https://about.gitlab.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitLab&lt;/a&gt;, sometimes via 
&lt;a href=&#34;https://github.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;), and terminal regularly, so I&amp;rsquo;m assuming familiarity here with all of these. If that is not you, here are some places to get started:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For Git: 
&lt;a href=&#34;http://happygitwithr.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Happy Git with R&lt;/a&gt; by Jenny Bryan et al.&lt;/li&gt;
&lt;li&gt;For RStudio: 
&lt;a href=&#34;https://www.datacamp.com/courses/working-with-the-rstudio-ide-part-1&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DataCamp&amp;rsquo;s Working with the RStudio IDE (free)&lt;/a&gt; by Garrett Grolemund&lt;/li&gt;
&lt;li&gt;For Terminal: 
&lt;a href=&#34;https://github.com/veltman/clmystery&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The Command Line Murder Mystery&lt;/a&gt; by Noah Veltman, and 
&lt;a href=&#34;http://seankross.com/the-unix-workbench/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The UNIX Workbench&lt;/a&gt; by Sean Kross&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also have 
&lt;a href=&#34;https://developer.apple.com/xcode/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Xcode&lt;/a&gt; and 
&lt;a href=&#34;https://brew.sh&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Homebrew&lt;/a&gt; installed- 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/installation.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;you will probably need these to download Hugo&lt;/a&gt;. If you don&amp;rsquo;t have either but are on a mac, this link may help:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;How to install Xcode, Homebrew, Git, RVM, Ruby &amp;amp; Rails on Mac OS X &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, I did not want to learn more about a lot of things! For instance, the nitty gritty of static site generators and how domain names work. I am a new mom, and just in the process of writing all this up, I filled up my tea mug twice with ice cold water, and filled my water bottle with scalding hot water. So, where offered, I followed the advice of Yihui and Amber. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/deployment.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;Considering the cost and friendliness to beginners, we currently recommend Netlify.&amp;rdquo;&lt;/a&gt; Sold.&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/netlify.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;If you are not familiar with domain names or do not want to learn more about them, an option for your consideration is a free subdomain &lt;code&gt;*.rbind.io&lt;/code&gt; offered by RStudio, Inc.&amp;rdquo;&lt;/a&gt;. Done.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2 id=&#34;in-github&#34;&gt;In GitHub
  &lt;a href=&#34;#in-github&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blogdown-signpost-1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go online to your 
&lt;a href=&#34;https://github.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt; account, and create a new repository (check to initialize with a &lt;code&gt;README&lt;/code&gt; but don&amp;rsquo;t add &lt;code&gt;.gitignore&lt;/code&gt;- this will be taken care of later). For naming your repo, consider your future deployment plan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you are going to use 
&lt;a href=&#34;https://www.netlify.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt; to host the site, you can name this repository anything you want!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    You can see some of the repo names used by members of the &lt;code&gt;rbind&lt;/code&gt; organization 
&lt;a href=&#34;https://github.com/rbind/repositories&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;&lt;code&gt;* If you want to host your site as a [GitHub Page](https://pages.github.com), you should name your repository `yourgithubusername.github.io` (so mine would have been `apreshill.github.io`). If you are going this route, I suggest you follow [Amber&#39;s instructions](https://proquestionasker.github.io/blog/Making_Site/) instead of mine!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;github-new-repo.png&#34; alt=&#34;Screenshot above: Creating a new repository in GitHub&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;Go to the main page of your new repository, and under the repository name, click the green &lt;strong&gt;Clone or download&lt;/strong&gt; button.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Clone with HTTPs&lt;/strong&gt; section, click on the clipboard icon to copy the clone URL for your new repository. You&amp;rsquo;ll paste this text into terminal in the next section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;in-terminal&#34;&gt;In terminal
  &lt;a href=&#34;#in-terminal&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blogdown-signpost-2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Now you will 
&lt;a href=&#34;https://help.github.com/articles/cloning-a-repository/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;clone your remote repository&lt;/a&gt; and create a local copy on your computer so you can sync between the two locations (using terminal or your alternative command line tool for a Windows machine).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;cd&lt;/code&gt; to navigate into the directory where you want your repo to be&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once there, type: &lt;code&gt;git clone [paste]&lt;/code&gt;. So my command looked like this:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/apreshill/apreshill.git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And this is what printed to my terminal window:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Cloning into &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;apreshill&amp;#39;&lt;/span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Counting objects: 3, &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;done&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;2/2&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;done&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#099&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;delta 0&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#099&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Unpacking objects: 100% &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;3/3&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;done&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Checking connectivity... &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;done&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Close terminal, you are done in there.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2 id=&#34;in-rstudio&#34;&gt;In RStudio
  &lt;a href=&#34;#in-rstudio&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blogdown-signpost-3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;code&gt;blogdown&lt;/code&gt; from your RStudio console. If you already have &lt;code&gt;devtools&lt;/code&gt; installed like I did, you can just use the second line below:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;requireNamespace&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;devtools&amp;#34;&lt;/span&gt;)) &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install.packages&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;devtools&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;devtools&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_github&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;rstudio/blogdown&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Install Hugo using the &lt;code&gt;blogdown&lt;/code&gt; package helper function:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(blogdown)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_hugo&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    This is where my instructions diverge from Ed&amp;rsquo;s- he states that &lt;code&gt;blogdown&lt;/code&gt; won&amp;rsquo;t create a website in your root folder because the &lt;code&gt;README.md&lt;/code&gt; file is already there. I didn&amp;rsquo;t find that to be the case- I tested this with a new site as well. If one way doesn&amp;rsquo;t work for you, try the other!
  &lt;/div&gt;
&lt;/div&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Use the top menu buttons in RStudio to select &lt;code&gt;File -&amp;gt; New Project -&amp;gt; Existing Directory&lt;/code&gt;, then browse to the directory on your computer where your GitHub repo is and click on the &lt;strong&gt;Create Project&lt;/strong&gt; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;r-project-existing-directory.png&#34; alt=&#34;Screenshot above: Creating a new project in an existing directory in RStudio&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Now you should be &amp;ldquo;in&amp;rdquo; your project in RStudio. If you are using git for version control, edit your &lt;code&gt;*gitignore&lt;/code&gt; file. This file should be viewable in your file viewer pane in RStudio. Below is what it should look like: the first four lines will automatically be in this file if you have set up your RStudio Project, but if you plan to use Netlify to deploy, you need to add the &lt;code&gt;public/&lt;/code&gt; line (
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/version-control.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;read about here&lt;/a&gt;.)&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.Rproj.user
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.Rhistory
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.RData
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.Ruserdata
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.DS_Store &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if a windows user, Thumbs.db instead&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;public&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# if using Netlify&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;build-your-site-in-rstudio&#34;&gt;Build your site in RStudio
  &lt;a href=&#34;#build-your-site-in-rstudio&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blogdown-signpost-4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Now you can finally build your site using the &lt;code&gt;blogdown::new_site()&lt;/code&gt; function. But &lt;strong&gt;first&lt;/strong&gt; you should at least think about themes&amp;hellip;&lt;/p&gt;




&lt;h3 id=&#34;picking-a-theme&#34;&gt;Picking a theme
  &lt;a href=&#34;#picking-a-theme&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;There are over 90 
&lt;a href=&#34;https://themes.gohugo.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Hugo themes&lt;/a&gt;. So I went back to the &lt;code&gt;blogdown&lt;/code&gt; book. Thankfully, Yihui and Amber offer 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/other-themes.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&amp;ldquo;to save you some time, we list a few themes below that match our taste&amp;hellip;&amp;rdquo;&lt;/a&gt;. Huzzah- I went with 
&lt;a href=&#34;https://github.com/gcushen/hugo-academic&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hugo-academic&lt;/a&gt;! Whatever theme you choose, you&amp;rsquo;ll need to pick one of 3 ways to make your new site:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If you are happy with the default theme, which is the lithium theme, you can use:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_site&lt;/span&gt;() &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default theme is lithium&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;If you want a theme other than the default, you can specify the theme at the same time as you call the &lt;code&gt;new_site&lt;/code&gt; function:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# for example, create a new site with the academic theme&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_site&lt;/span&gt;(theme &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;gcushen/hugo-academic&amp;#34;&lt;/span&gt;, theme_example &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;If instead you want to add the theme later (like I did, because I didn&amp;rsquo;t see the above example until it was too late!), you can do this:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;library&lt;/span&gt;(blogdown)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_site&lt;/span&gt;() &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# default theme is lithium&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# need to stop serving so can use the console again&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;install_theme&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;gcushen/hugo-academic&amp;#34;&lt;/span&gt;, theme_example &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;, update_config &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;TRUE&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Now is a good time to re-read about &lt;code&gt;blogdown::serve_site()&lt;/code&gt; and 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/a-quick-example.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;how &lt;em&gt;LiveReload&lt;/em&gt; works&lt;/a&gt; (and how it blocks your R console by default)
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I recommend setting &lt;code&gt;theme_example = TRUE&lt;/code&gt;- some themes won&amp;rsquo;t provide an example site, but the academic theme did and I found it helpful to see. You can always delete the example content.&lt;/p&gt;




&lt;h3 id=&#34;update-project-options&#34;&gt;Update project options
  &lt;a href=&#34;#update-project-options&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;In your project in RStudio, go to the top menu bar of RStudio and select &lt;code&gt;Tools -&amp;gt; Project Options&lt;/code&gt; and update following 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/rstudio-ide.html#fig:project-options&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Yihui and Amber&amp;rsquo;s instructions&lt;/a&gt;.&lt;/p&gt;




&lt;h3 id=&#34;edit-your-configurations&#34;&gt;Edit your configurations
  &lt;a href=&#34;#edit-your-configurations&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Relevant reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/configuration.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt; book chapter on configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://proquestionasker.github.io/blog/Making_Site/#site-configuration&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Additional detail from Amber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can also view 
&lt;a href=&#34;https://github.com/apreshill/apreshill/blob/master/config.toml&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my &lt;code&gt;config.toml&lt;/code&gt; file&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, edit the &lt;code&gt;baseurl&lt;/code&gt; in your &lt;code&gt;config.toml&lt;/code&gt; file. The URL &lt;em&gt;should always&lt;/em&gt; end with a &lt;code&gt;/&lt;/code&gt; trailing slash. At this point, you probably haven&amp;rsquo;t deployed your site yet, so to view it locally you can use the &lt;strong&gt;Serve Site&lt;/strong&gt; add-in, or run the &lt;code&gt;blogdown::serve_site&lt;/code&gt; function. Both of these baseurls worked for me when viewing locally:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;baseurl = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://example.com/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;baseurl = &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-warning&#34;&gt;
  &lt;div&gt;
    Make sure that the &lt;code&gt;baseurl = &lt;/code&gt; listed ends with a trailing slash &lt;code&gt;/&lt;/code&gt;!
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Go ahead and edit all the other elements in the &lt;code&gt;config.toml&lt;/code&gt; file now as you please- this is how you personalize your site!&lt;/p&gt;




&lt;h3 id=&#34;addins--workflow&#34;&gt;Addins &amp;amp; workflow
  &lt;a href=&#34;#addins--workflow&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Relevant reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/rstudio-ide.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt; book chapter on the RStudio IDE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Addins: use them- you won&amp;rsquo;t need the &lt;code&gt;blogdown&lt;/code&gt; library loaded in the console if you use the Addins. My workflow in RStudio at this point (again, just viewing locally because we haven&amp;rsquo;t deployed yet) works best like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the RStudio project for the site&lt;/li&gt;
&lt;li&gt;Use the &lt;strong&gt;Serve Site&lt;/strong&gt; add-in (only once due to the magic of &lt;em&gt;LiveReload&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;View site in the RStudio viewer pane, and open in a new browser window while I work&lt;/li&gt;
&lt;li&gt;Select existing files to edit using the file pane in RStudio&lt;/li&gt;
&lt;li&gt;After making changes, click the save button (don&amp;rsquo;t &lt;code&gt;knit&lt;/code&gt;!)- the console will reload, the viewer pane will update, and if you hit refresh in the browser your local view will also be updated&lt;/li&gt;
&lt;li&gt;When happy with changes, add/commit/push changes to GitHub&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Having &lt;code&gt;blogdown::serve_site&lt;/code&gt; running locally with &lt;em&gt;LiveReload&lt;/em&gt; is especially useful as you can immediately see if you have totally screwed up. For example, in editing my &lt;code&gt;about.md&lt;/code&gt; file, this error popped up in my console after making a change and I was able to fix the error right away:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Started building sites ...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ERROR 2017/06/08 16:22:34 failed to parse page metadata &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;for&lt;/span&gt; home/about.md: &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;18, 6&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;: missing comma
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Error: Error building site: Errors reading pages: Error: failed to parse page metadata &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;for&lt;/span&gt; home/about.md: &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;(&lt;/span&gt;18, 6&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;)&lt;/span&gt;: missing comma &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;for&lt;/span&gt; about.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The above workflow is only for editing existing files or posts, but not for &lt;strong&gt;creating new posts&lt;/strong&gt;. For that, read on&amp;hellip;&lt;/p&gt;




&lt;h3 id=&#34;posting&#34;&gt;Posting
  &lt;a href=&#34;#posting&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Relevant reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/rstudio-ide.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt; book chapter on RStudio IDE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/output-format.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt; book chapter on output formats&lt;/a&gt;: on .md versus .Rmd posts&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://proquestionasker.github.io/blog/Making_Site/#adding-a-blog-post-or-portfolio-piece&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Additional detail from Amber&lt;/a&gt; on adding a blog post&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bottom line:&lt;/p&gt;
&lt;p&gt;Use the &lt;strong&gt;New Post&lt;/strong&gt; addin. But, you need the console to do this, so you have to stop &lt;code&gt;blogdown::serve_site&lt;/code&gt; by clicking on the red &lt;strong&gt;Stop&lt;/strong&gt; button first. The Addin is a Shiny interface that runs this code in your console: &lt;code&gt;blogdown:::new_post_addin()&lt;/code&gt;. So, your console needs to be unblocked for it to run. You also need to be &amp;ldquo;in&amp;rdquo; your RStudio project or it won&amp;rsquo;t work.&lt;/p&gt;




&lt;h3 id=&#34;draft-posts&#34;&gt;Draft posts
  &lt;a href=&#34;#draft-posts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Relevant reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/local-preview.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;blogdown&lt;/code&gt; book chapter on building a website for local preview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you do a markdown or R Markdown post (see below), you should know that in the YAML front matter of your new file, you can add &lt;code&gt;draft: TRUE&lt;/code&gt; and you will be able to preview your post using &lt;code&gt;blogdown::serve_site()&lt;/code&gt;, but conveniently your post will not show up on your deployed site until you set it to false. Because this is a function built into Hugo, all posts (draft or not) will still end up in your GitHub repo though.&lt;/p&gt;




&lt;h3 id=&#34;new-markdown-posts&#34;&gt;New markdown posts
  &lt;a href=&#34;#new-markdown-posts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Pick one of 2 methods:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the &lt;strong&gt;New Post&lt;/strong&gt; addin and with the radio button at the bottom select &lt;strong&gt;Format: Markdown&lt;/strong&gt; (recommended)&lt;/li&gt;
&lt;li&gt;Use the console to author a new &lt;code&gt;.md&lt;/code&gt; post:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_post&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_post&lt;/span&gt;(ext &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;.md&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# md is the default!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here are the &lt;code&gt;?new_post&lt;/code&gt; arguments:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_post&lt;/span&gt;(title, kind &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;, open &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;interactive&lt;/span&gt;(),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    author &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;getOption&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blogdown.author&amp;#34;&lt;/span&gt;), categories &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;NULL&lt;/span&gt;, tags &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;NULL&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    date &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;Sys.Date&lt;/span&gt;(), file &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;NULL&lt;/span&gt;, slug &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;NULL&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    title_case &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;getOption&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blogdown.title_case&amp;#34;&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    subdir &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;getOption&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blogdown.subdir&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;post&amp;#34;&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ext &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;getOption&lt;/span&gt;(&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blogdown.ext&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;.md&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Remember to use the &lt;strong&gt;Serve Site&lt;/strong&gt; addin again so that you can immediately view your changes with every save using &lt;em&gt;LiveReload&lt;/em&gt;.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3 id=&#34;new-r-markdown-rmd-posts&#34;&gt;New R Markdown (.Rmd) posts
  &lt;a href=&#34;#new-r-markdown-rmd-posts&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Again, you have your choice of one of 2 methods:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the &lt;strong&gt;New Post&lt;/strong&gt; addin and with the radio button at the bottom select &lt;strong&gt;Format: R Markdown (.Rmd)&lt;/strong&gt; (recommended)&lt;/li&gt;
&lt;li&gt;Use the console to author a new &lt;code&gt;.Rmd&lt;/code&gt; post:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#900;font-weight:bold&#34;&gt;new_post&lt;/span&gt;(ext &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#39;.Rmd&amp;#39;&lt;/span&gt;) &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# md is the default!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After you edit your &lt;code&gt;.Rmd&lt;/code&gt; post, in addition to saving the changes in your &lt;code&gt;.Rmd&lt;/code&gt; file, you &lt;em&gt;must&lt;/em&gt; use &lt;code&gt;blogdown::serve_site&lt;/code&gt;- this is how the output &lt;code&gt;html&lt;/code&gt; file needs to be generated.&lt;/p&gt;
&lt;div class=&#34;alert alert-warning&#34;&gt;
  &lt;div&gt;
    Do &lt;em&gt;not&lt;/em&gt; knit your &lt;code&gt;.Rmd&lt;/code&gt; posts- use &lt;code&gt;blogdown::serve_site&lt;/code&gt; instead. If you happen to hit the knit button, just &lt;strong&gt;Serve Site&lt;/strong&gt; again to rewrite the &lt;code&gt;.html&lt;/code&gt; file.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Ultimately, your 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/output-format.html#output-format&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;YAML front matter looks something like this&lt;/a&gt;; note that some but not all features of &lt;code&gt;rmarkdown::html_document&lt;/code&gt; 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/output-format.html#fn15&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;are supported in &lt;code&gt;blogdown&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-r&#34; data-lang=&#34;r&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;title&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;My Awesome Post&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;author&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;John Doe&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;date&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;2017-02-14&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;output&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  blogdown&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;::&lt;/span&gt;html_page&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    toc&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; true
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    toc_depth&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    number_sections&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; true
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fig_width&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#099&#34;&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;---&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Remember to use the &lt;strong&gt;Serve Site&lt;/strong&gt; addin again so that you can immediately view your changes with every save using &lt;em&gt;LiveReload&lt;/em&gt; and your &lt;code&gt;.html&lt;/code&gt; file is properly output.
  &lt;/div&gt;
&lt;/div&gt;




&lt;h3 id=&#34;adding-images-to-a-post&#34;&gt;Adding images to a post
  &lt;a href=&#34;#adding-images-to-a-post&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If you want to include an image that is not a figure created from an R chunk, the 
&lt;a href=&#34;https://github.com/rstudio/blogdown/issues/45&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;recommended method&lt;/a&gt; is to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add the image to your &lt;code&gt;/static/img/&lt;/code&gt; folder, then&lt;/li&gt;
&lt;li&gt;Reference the image using the relative file path as follows:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;![my-image](/img/my-image.png)
&lt;/code&gt;&lt;/pre&gt;



&lt;h2 id=&#34;deploy-in-netlify&#34;&gt;Deploy in Netlify
  &lt;a href=&#34;#deploy-in-netlify&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;blogdown-signpost-5.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Deploying in Netlify through GitHub is smooth. Yihui and Amber give some 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/deployment.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;beginner instructions&lt;/a&gt;, but Netlify is so easy, I recommend that you skip dragging your &lt;code&gt;public&lt;/code&gt; folder in and instead 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/netlify.html#netlify&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;automate the process through GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;When you are ready to deploy, commit your changes and push to GitHub, then go online to 
&lt;a href=&#34;https://www.netlify.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on the &lt;strong&gt;Sign Up&lt;/strong&gt; button and sign up using your existing GitHub account (no need to create another account)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Log in, and select: &lt;code&gt;New site from Git -&amp;gt; Continuous Deployment: GitHub&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From there, Netlify will allow you to select from your existing GitHub repositories. You&amp;rsquo;ll pick the repo you&amp;rsquo;ve been working from with &lt;code&gt;blogdown&lt;/code&gt;, then you&amp;rsquo;ll configure your build. This involves specifying two important things: the build command and the publish directory (this should be &lt;code&gt;public&lt;/code&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;More about the build command from 
&lt;a href=&#34;https://www.netlify.com/docs/continuous-deployment/#common-configuration-directives&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Netlify&lt;/a&gt;: &lt;em&gt;&amp;ldquo;For Hugo hosting, &lt;code&gt;hugo&lt;/code&gt; will build and deploy with the version 0.17 of &lt;code&gt;hugo&lt;/code&gt;. You can specify a specific &lt;code&gt;hugo&lt;/code&gt; release like this: &lt;code&gt;hugo_0.15&lt;/code&gt;. Currently &lt;code&gt;0.13&lt;/code&gt;, &lt;code&gt;0.14&lt;/code&gt;, &lt;code&gt;0.15&lt;/code&gt;, &lt;code&gt;0.16&lt;/code&gt;, &lt;code&gt;0.17&lt;/code&gt;, &lt;code&gt;0.18&lt;/code&gt; and &lt;code&gt;0.19&lt;/code&gt; are supported. For version &lt;code&gt;0.20&lt;/code&gt; and above, you’ll need to create a Build environment variable called &lt;code&gt;HUGO_VERSION&lt;/code&gt; and set it to the version of your choice.&amp;rdquo;&lt;/em&gt; I opted for the former, and specified &lt;code&gt;hugo_0.19&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can check your &lt;code&gt;hugo&lt;/code&gt; version in terminal using the command 
&lt;a href=&#34;https://gohugo.io/overview/quickstart/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;code&gt;hugo version&lt;/code&gt;&lt;/a&gt;. This is what my output looked like, so I could run version &lt;code&gt;0.20&lt;/code&gt; if I wanted to through Netlify, but I went with &lt;code&gt;0.19&lt;/code&gt; and it works just fine.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ hugo version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hugo Static Site Generator v0.20.7 darwin/amd64 BuildDate: 2017-05-08T18:37:40-07:00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;netlify-build-settings.png&#34; alt=&#34;Screenshot above: Basic build settings in Netlify&#34;&gt;&lt;/p&gt;
&lt;p&gt;Netlify will deploy your site and assign you a random subdomain name of the form &lt;code&gt;random-word-12345.netlify.com&lt;/code&gt;. Mine was particularly unfortunate, with the random word &lt;code&gt;garbage-collector-janice&lt;/code&gt;. You should know that you can change this; I changed mine to &lt;code&gt;apreshill.netlify.com&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Anytime you change your subdomain name, you need to update the &lt;code&gt;baseurl&lt;/code&gt; in your &lt;code&gt;config.toml&lt;/code&gt; file (so I changed mine to baseurl = &amp;ldquo;
&lt;a href=&#34;https://apreshill.netlify.com/%22%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://apreshill.netlify.com/&#34;)&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;At this point, you should be up and running with &lt;code&gt;blogdown&lt;/code&gt;, GitHub, and Netlify, but here are some ideas if you want to go further&amp;hellip;&lt;/p&gt;




&lt;h2 id=&#34;going-further&#34;&gt;Going further
  &lt;a href=&#34;#going-further&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;




&lt;h3 id=&#34;custom-css&#34;&gt;Custom CSS
  &lt;a href=&#34;#custom-css&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I like to tinker with default theme settings like colors and fonts. Every Hugo theme is structured a little differently, but if you are interested, you can check out 
&lt;a href=&#34;https://github.com/apreshill/apreshill/blob/master/static/css/blue.css&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my custom css&lt;/a&gt; to see how I customized the academic theme, which provides a way to link to a custom CSS file in the &lt;code&gt;config.toml&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;# Link custom CSS and JS assets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#998;font-style:italic&#34;&gt;#   (relative to /static/css and /static/js respectively)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  custom_css = [&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;blue.css&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;formspree&#34;&gt;Formspree
  &lt;a href=&#34;#formspree&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I used 
&lt;a href=&#34;https://formspree.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Formspree&lt;/a&gt; to make a contact form, which is an online service (managed on 
&lt;a href=&#34;https://github.com/formspree/formspree&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;) that allows you to add an HTML form to your static site. No registration, just use the form and confirm your email address once. I added the following code into 
&lt;a href=&#34;https://github.com/apreshill/apreshill/blob/master/themes/hugo-academic/layouts/partials/widgets/contact.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;my contact widget&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;form&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;action&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;https://formspree.io/your@email.com&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;method&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;for&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&amp;gt;Your name: &amp;lt;/&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;required&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;required&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;placeholder&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;here&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;br&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;for&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;email&amp;#34;&lt;/span&gt;&amp;gt;Your email: &amp;lt;/&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;email&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;_replyto&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;required&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;required&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;placeholder&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;here&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;br&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;for&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&amp;gt;Your message:&amp;lt;/&lt;span style=&#34;color:#000080&#34;&gt;label&lt;/span&gt;&amp;gt;&amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;br&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;textarea&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;rows&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;4&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;id&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;required&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;required&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;form-control&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;placeholder&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;I can&amp;#39;t wait to read this!&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#000080&#34;&gt;textarea&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;_next&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;/html/thanks.html&amp;#34;&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Send&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;btn btn-primary btn-outline&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;hidden&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;_subject&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;Website message&amp;#34;&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#000080&#34;&gt;input&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;_gotcha&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#008080&#34;&gt;style&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#d14&#34;&gt;&amp;#34;display:none&amp;#34;&lt;/span&gt; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#000080&#34;&gt;form&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;rbindio-domain-names&#34;&gt;&lt;code&gt;*.rbind.io&lt;/code&gt; domain names
  &lt;a href=&#34;#rbindio-domain-names&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;You may want a different 
&lt;a href=&#34;https://bookdown.org/yihui/blogdown/domain-name.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;domain name&lt;/a&gt; than the one provided by Netlify. I opted for a free subdomain &lt;code&gt;*.rbind.io&lt;/code&gt; offered by RStudio. To do the same, head over to the 
&lt;a href=&#34;https://github.com/rbind/support/issues&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;rbind/support GitHub page&lt;/a&gt; and open a new issue. All you need to do is let them know what your Netlify subdomain name is (&lt;code&gt;*.netlify.com&lt;/code&gt;), and what you want your subdomain name to be (&lt;code&gt;*.rbind.io&lt;/code&gt;). The 
&lt;a href=&#34;https://support.rbind.io&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;awesome &lt;code&gt;rbind&lt;/code&gt; support team&lt;/a&gt; will help you take it from there!&lt;/p&gt;
&lt;div class=&#34;alert alert-note&#34;&gt;
  &lt;div&gt;
    Again, you will need to update the &lt;code&gt;baseurl&lt;/code&gt; in your &lt;code&gt;config.toml&lt;/code&gt; file to reflect your new rbind subdomain name (so mine is baseurl = &amp;ldquo;
&lt;a href=&#34;https://alison.rbind.io/%22%29&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://alison.rbind.io/&#34;)&lt;/a&gt;.
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;rbind.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;




&lt;h2 id=&#34;have-fun&#34;&gt;Have fun!
  &lt;a href=&#34;#have-fun&#34;&gt;&lt;svg class=&#34;anchor-symbol&#34; aria-hidden=&#34;true&#34; height=&#34;26&#34; width=&#34;26&#34; viewBox=&#34;0 0 22 22&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
      &lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;currentColor&#34;&gt;&lt;/path&gt;
      &lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76.0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71.0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71.0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76.0 5-2.24 5-5s-2.24-5-5-5z&#34;&gt;&lt;/path&gt;
    &lt;/svg&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Lastly, don&amp;rsquo;t forget to just have fun with it. Happy &lt;code&gt;blogdown&lt;/code&gt;ing!&lt;/p&gt;
&lt;iframe src=&#34;https://giphy.com/embed/13Y6LAZJqRspI4&#34; width=&#34;480&#34; height=&#34;357&#34; frameBorder=&#34;0&#34; class=&#34;giphy-embed&#34; allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&#34;https://giphy.com/gifs/dancing-seinfeld-elaine-benes-13Y6LAZJqRspI4&#34;&gt;via GIPHY&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Quantitative Analysis of Disfluency in Children with Autism Spectrum Disorder or Language Impairment</title>
      <link>https://www.apreshill.com/publication/2017-mazes-asd-sli/</link>
      <pubDate>Wed, 15 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2017-mazes-asd-sli/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Code Your Graph Workshop</title>
      <link>https://www.apreshill.com/talk/2016-ohsu-dataviz/</link>
      <pubDate>Fri, 24 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/talk/2016-ohsu-dataviz/</guid>
      <description>




  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://www.apreshill.com/talk/2016-ohsu-dataviz/code-your-graph_hu9ebcd1d99c0a236c25b6db9f0e87e85d_160690_2000x2000_fit_q75_box.jpg&#34; &gt;


  &lt;img data-src=&#34;https://www.apreshill.com/talk/2016-ohsu-dataviz/code-your-graph_hu9ebcd1d99c0a236c25b6db9f0e87e85d_160690_2000x2000_fit_q75_box.jpg&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;800&#34; height=&#34;800&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Code Your Graph Workshop</title>
      <link>https://www.apreshill.com/project/code-your-graph/</link>
      <pubDate>Fri, 24 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/code-your-graph/</guid>
      <description>




  
  











&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; href=&#34;https://www.apreshill.com/project/code-your-graph/code-your-graph_hu9ebcd1d99c0a236c25b6db9f0e87e85d_160690_2000x2000_fit_q75_box.jpg&#34; &gt;


  &lt;img data-src=&#34;https://www.apreshill.com/project/code-your-graph/code-your-graph_hu9ebcd1d99c0a236c25b6db9f0e87e85d_160690_2000x2000_fit_q75_box.jpg&#34; class=&#34;lazyload&#34; alt=&#34;&#34; width=&#34;800&#34; height=&#34;800&#34;&gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Summer of blogdown</title>
      <link>https://www.apreshill.com/project/summer-of-blogdown/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/summer-of-blogdown/</guid>
      <description>&lt;p&gt;Four daily 1-hour sessions plus 30-60 minutes of homework for 3 nights. See links to each day&amp;rsquo;s materials, including slides and homeworks, below.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>RLadies xaringan theme</title>
      <link>https://www.apreshill.com/project/rladies-xaringan/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/rladies-xaringan/</guid>
      <description>


&lt;p&gt;Here is a demo slide deck using the theme:&lt;/p&gt;
&lt;iframe src=&#34;https://alison.rbind.io/slides/rladies-demo-slides.html#1&#34; width=&#34;672&#34; height=&#34;400px&#34;&gt;
&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title>Probability &amp; Statistics for Scientists and Engineers</title>
      <link>https://www.apreshill.com/project/ohsu-cs-stats/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/ohsu-cs-stats/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Principles &amp; Practice of Data Visualization</title>
      <link>https://www.apreshill.com/project/ohsu-dataviz/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/ohsu-dataviz/</guid>
      <description>&lt;p&gt;This was a 12-week course with weekly 1.5 hour hands-on labs using R and the &lt;code&gt;ggplot2&lt;/code&gt; package. This course (CS631) was co-developed with Drs. Steven Bedrick and Jackie Wirz. This team-taught course was offered at Oregon Health &amp;amp; Science University to graduate students in the biomedical sciences.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Introduction to Data Wrangling, Analysis, &amp; Communication</title>
      <link>https://www.apreshill.com/project/ohsu-biostats/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/ohsu-biostats/</guid>
      <description>&lt;p&gt;Part of a year-long curricula on open science, data, and research practice for incoming graduate students in the biomedical sciences, developed in collaboration with OHSU School of MedicineGraduate Studies. This course was offered at Oregon Health &amp;amp; Science University to graduate students in the biomedical sciences.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>blogdown: Creating Websites with R Markdown</title>
      <link>https://www.apreshill.com/project/blogdown-book/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/blogdown-book/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Bakeoff</title>
      <link>https://www.apreshill.com/project/bakeoff/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/bakeoff/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Advanced R Markdown</title>
      <link>https://www.apreshill.com/project/advanced-r-markdown/</link>
      <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/project/advanced-r-markdown/</guid>
      <description>&lt;p&gt;This two-day workshop is designed for those who want to take their R Markdown skills to the next level. We’ll talk about many low-level details in the rmarkdown package and the whole R Markdown ecosystem. The two goals of this workshop are: 1) learn how to fully customize R Markdown output (HTML, LaTeX/PDF, Word, and PowerPoint); and 2) learn more about existing R Markdown extensions in the ecosystem, such as flexdashboard, bookdown, blogdown, pkgdown, xaringan, rticles, and learnr. We will also talk about how to use or develop new language engines (languages that are not R), how to develop HTML widgets, and integrate Shiny with R Markdown.&lt;/p&gt;
&lt;p&gt;See the workshop website for more, and links to individual slides below.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Epidemiology of autism spectrum disorders</title>
      <link>https://www.apreshill.com/publication/2016-primer-on-asd/</link>
      <pubDate>Fri, 19 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2016-primer-on-asd/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Uh and Um in Children With Autism Spectrum Disorders or Language Impairment</title>
      <link>https://www.apreshill.com/publication/2016-uh-and-um-asd-sli/</link>
      <pubDate>Fri, 22 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2016-uh-and-um-asd-sli/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Obesity and Autism</title>
      <link>https://www.apreshill.com/publication/2015-obesity-in-asd-multisite/</link>
      <pubDate>Thu, 03 Sep 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2015-obesity-in-asd-multisite/</guid>
      <description>&lt;p&gt;METHODS: Participants were 5053 children with confirmed diagnosis of ASD in the Autism Speaks Autism Treatment Network. Measured values for weight and height were used to calculate BMI percentiles; Centers for Disease Control and Prevention criteria for BMI for gender and age were used to define overweight and obesity (85th and 95th percentiles, respectively).&lt;/p&gt;
&lt;p&gt;RESULTS: In children age 2 to 17 years, 33.6% were overweight and 18% were obese. Compared with a general US population sample, rates of unhealthy weight were significantly higher among children with ASDs ages 2 to 5 years and among those of non-Hispanic white origin. Multivariate analyses revealed that older age, Hispanic or Latino ethnicity, lower parent education levels, and sleep and affective problems were all significant predictors of obesity.&lt;/p&gt;
&lt;p&gt;CONCLUSIONS: Our results indicate that the prevalence of unhealthy weight is significantly greater among children with ASD compared with the general population, with differences present as early as ages 2 to 5 years. Because obesity is more prevalent among older children in the general population, these findings raise the question of whether there are different trajectories of weight gain among children with ASDs, possibly beginning in early childhood.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Memory in language-impaired children with and without autism</title>
      <link>https://www.apreshill.com/publication/2015-memory-in-li-asd/</link>
      <pubDate>Sun, 14 Jun 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2015-memory-in-li-asd/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Epidemiology of autism spectrum disorders</title>
      <link>https://www.apreshill.com/publication/2015-translational/</link>
      <pubDate>Wed, 10 Jun 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2015-translational/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Aggressive Behavior Problems in Children with Autism Spectrum Disorders: Prevalence and Correlates in a Large Clinical Sample</title>
      <link>https://www.apreshill.com/publication/2014-aggression-in-asd/</link>
      <pubDate>Sun, 22 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2014-aggression-in-asd/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Epidemiology of autism spectrum disorders</title>
      <link>https://www.apreshill.com/publication/2014-handbook/</link>
      <pubDate>Mon, 03 Mar 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2014-handbook/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Overweight and Obesity: Prevalence and Correlates in a Large Clinical Sample of Children with Autism Spectrum Disorder</title>
      <link>https://www.apreshill.com/publication/2014-obesity-in-asd-oregon/</link>
      <pubDate>Sun, 02 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2014-obesity-in-asd-oregon/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Epidemiology of Autism Spectrum Disorder</title>
      <link>https://www.apreshill.com/publication/2014-asd-epidemiology-in-practice/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2014-asd-epidemiology-in-practice/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Quantifying Repetitive Speech in Autism Spectrum Disorders and Language Impairment</title>
      <link>https://www.apreshill.com/publication/2013-repetitive-speech-in-asd-sli/</link>
      <pubDate>Fri, 12 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2013-repetitive-speech-in-asd-sli/</guid>
      <description></description>
    </item>
    
    <item>
      <title>‘It’s Not That We Hate You’: Understanding Children’s Gender Attitudes and Expectancies About Peer Relationships</title>
      <link>https://www.apreshill.com/publication/2011-gender-attitudes/</link>
      <pubDate>Tue, 08 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2011-gender-attitudes/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Effects of Different Attentional Cues on Responding to Joint Attention in Younger Siblings of Children with Autism Spectrum Disorders</title>
      <link>https://www.apreshill.com/publication/2007-rja-in-sibs/</link>
      <pubDate>Mon, 01 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2007-rja-in-sibs/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Item-specific Processing Reduces False Memories</title>
      <link>https://www.apreshill.com/publication/2004-false-memories/</link>
      <pubDate>Wed, 01 Dec 2004 00:00:00 +0000</pubDate>
      
      <guid>https://www.apreshill.com/publication/2004-false-memories/</guid>
      <description></description>
    </item>
    
  </channel>
</rss>


