diff --git a/config.toml b/config.toml
index ac774ba..6c9ecec 100644
--- a/config.toml
+++ b/config.toml
@@ -12,6 +12,9 @@ email = 'hello@davideisinger.com'
[permalinks]
pages = '/:title'
+[services.rss]
+limit = 10
+
[markup.highlight]
style = 'nord'
diff --git a/content/elsewhere/friends-undirected-graph-connections-in-rails/index.md b/content/elsewhere/friends-undirected-graph-connections-in-rails/index.md
index d792003..ffdaacf 100644
--- a/content/elsewhere/friends-undirected-graph-connections-in-rails/index.md
+++ b/content/elsewhere/friends-undirected-graph-connections-in-rails/index.md
@@ -16,7 +16,7 @@ No, sorry, not THOSE friends. But if you're interested in how to do
some graph stuff in a relational database, SMASH that play button and
read on.
-
+
My current project is a social network of sorts, and includes the
ability for users to connect with one another. I've built this
diff --git a/content/journal/dispatch-7-september-2023/index.md b/content/journal/dispatch-7-september-2023/index.md
index 40529bf..19440c0 100644
--- a/content/journal/dispatch-7-september-2023/index.md
+++ b/content/journal/dispatch-7-september-2023/index.md
@@ -52,7 +52,7 @@ The following weekend, we headed up to Rehoboth Beach in Delaware to spend the w
We also recorded this little jam featuring my 3.5-year-old niece on the melodica:
-
+
From there, we drove 400 miles to Greensboro, and then onto Lake Norman to spend Labor Day weekend with Claire's family, a relaxing way to cap off an eventful summer.
diff --git a/content/journal/dispatch-8-october-2023/index.md b/content/journal/dispatch-8-october-2023/index.md
index 6def424..919488e 100644
--- a/content/journal/dispatch-8-october-2023/index.md
+++ b/content/journal/dispatch-8-october-2023/index.md
@@ -54,8 +54,8 @@ I had a birthday right before we left, and I decided to gift myself a [Novation
[6]: https://us.novationmusic.com/products/circuit-tracks
-
-
+
+
On that second one, the Circuit is using MIDI signals to play my [digital piano][7], which is then sending audio back into the Circuit. I'm just using the voice memos app (of all things) to record the output; I'll probably need to get a proper DAW set up if I'm going to get more ambitious, but for now, it's pretty fun to create tracks with just a hardware device.
diff --git a/content/journal/dispatch-9-november-2023/index.md b/content/journal/dispatch-9-november-2023/index.md
index 1a86d1b..11bc912 100644
--- a/content/journal/dispatch-9-november-2023/index.md
+++ b/content/journal/dispatch-9-november-2023/index.md
@@ -60,7 +60,7 @@ I also made some updates to my [`golong`][8] tool to prep for a fantasy NBA draf
I'm still having a blast with the Novation Circuit Tracks I got last month. I came up with a track I actually really like, which I'm calling "Radiatus" (which is a [type of cloud][9]):
-
+
[9]: https://cloudatlas.wmo.int/en/clouds-varieties-radiatus.html
diff --git a/themes/v2/layouts/_default/rss.xml b/themes/v2/layouts/_default/rss.xml
new file mode 100644
index 0000000..c6bc90b
--- /dev/null
+++ b/themes/v2/layouts/_default/rss.xml
@@ -0,0 +1,71 @@
+{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
+{{- $authorEmail := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .email }}
+ {{- $authorEmail = . }}
+ {{- end }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.email }}
+ {{- $authorEmail = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
+ {{- end }}
+{{- end }}
+
+{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
+{{- $authorName := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .name }}
+ {{- $authorName = . }}
+ {{- end }}
+ {{- else }}
+ {{- $authorName = . }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.name }}
+ {{- $authorName = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
+ {{- end }}
+{{- end }}
+
+{{- $pctx := . }}
+{{- if .IsHome }}{{ $pctx = .Site }}{{ end }}
+{{- $pages := slice }}
+{{- if or $.IsHome $.IsSection }}
+{{- $pages = $pctx.RegularPages }}
+{{- else }}
+{{- $pages = $pctx.Pages }}
+{{- end }}
+{{- $limit := .Site.Config.Services.RSS.Limit }}
+{{- if ge $limit 1 }}
+{{- $pages = $pages | first $limit }}
+{{- end }}
+{{- printf "" | safeHTML }}
+
+
+ {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}
+ {{ .Permalink }}
+ Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}
+ Hugo -- gohugo.io
+ {{ site.Language.LanguageCode }}{{ with $authorEmail }}
+ {{.}}{{ with $authorName }} ({{ . }}){{ end }}{{ end }}{{ with $authorEmail }}
+ {{ . }}{{ with $authorName }} ({{ . }}){{ end }}{{ end }}{{ with .Site.Copyright }}
+ {{ . }}{{ end }}{{ if not .Date.IsZero }}
+ {{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }}
+ {{- with .OutputFormats.Get "RSS" }}
+ {{ printf "" .Permalink .MediaType | safeHTML }}
+ {{- end }}
+ {{- range $pages }}
+
+ {{ .Title }}
+ {{ .Permalink }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{- with $authorEmail }}{{ . }}{{ with $authorName }} ({{ . }}){{ end }}{{ end }}
+ {{ .Permalink }}
+ {{ .Content | transform.XMLEscape | safeHTML }}
+
+ {{- end }}
+
+