M Makefile => Makefile +11 -18
@@ 1,12 1,10 @@
-TARGET_USER=admin
-TARGET_HOST=admin-aws3
-RSYNC_OPTS=--recursive --links --compress --delete --chown=$(TARGET_USER):$(TARGET_USER)
-
-.PHONY: clean
clean:
rm -rf public resources themes
rm -rf scripts/cv.aux scripts/cv.log scripts/cv.out
rm -rf content/posts/*.bak
+ rm -rf layouts/partials/bsky.html
+ rm -rf layouts/partials/lastfm.html
+ rm -rf layouts/partials/openring.html
scripts/cv.tex: content/cv.md
sed content/cv.md \
@@ 24,33 22,28 @@ static/files/dominic-ricottone.html: content/cv.md
cat content/cv.md \
| scripts/cv_html.awk > static/files/dominic-ricottone.html
-.PHONY: layouts/partials/bsky.html
layouts/partials/bsky.html:
scripts/bsky.bash > layouts/partials/bsky.html
-.PHONY: layouts/partials/lastfm.html
layouts/partials/lastfm.html:
scripts/lastfm.sh > layouts/partials/lastfm.html
-.PHONY: layouts/partials/openring.html
layouts/partials/openring.html:
scripts/openring.sh > layouts/partials/openring.html
PREGEN_HTML=static/files/dominic-ricottone.pdf static/files/dominic-ricottone.html layouts/partials/bsky.html layouts/partials/lastfm.html layouts/partials/openring.html
-.PHONY: dev
-dev: $(PREGEN_HTML)
- hugo server --buildDrafts --bind 127.0.0.1 --port 8080
-
-.PHONY: build
-build: clean $(PREGEN_HTML)
+build: $(PREGEN_HTML) clean
hugo
-.PHONY: check
check:
for f in content/posts/*.md; do aspell --check $$f; done
-.PHONY: sync
-sync: build
- rsync $(RSYNC_OPTS) public/ $(TARGET_HOST):/var/deploy/build/blog/public/
+dev: $(PREGEN_HTML)
+ hugo --buildDrafts --baseURL https://dev.intra.dominic-ricottone.com
+ rsync --recursive --links --compress --delete public/ alarm@arch3.intra.dominic-ricottone.com:/var/deploy/web/
+
+publish: build
+ rsync --recursive --links --compress --delete --chown=admin:admin public/ admin-aws3:/var/deploy/build/blog/public/
+.PHONY: clean build check dev publish
M config.toml => config.toml +3 -0
@@ 4,6 4,9 @@ title = "Dominic Ricottone"
disableKinds = ["taxonomy", "taxonomyTerm"]
summaryLength = 20
+[permalinks]
+posts = "/posts/:year/:month/:slug"
+
[markup.goldmark.renderer]
unsafe=true
M content/posts/acs_data.md => content/posts/acs_data.md +2 -0
@@ 1,6 1,8 @@
---
title: ACS Data
date: "2023-03-21T20:34:24-05:00"
+aliases:
+ - "/posts/acs_data"
draft: false
---
M content/posts/buildkit.md => content/posts/buildkit.md +2 -0
@@ 1,6 1,8 @@
---
title: BuildKit
date: "2023-05-29T21:29:33-05:00"
+aliases:
+ - "/posts/buildkit"
draft: false
---
M content/posts/busy_winter.md => content/posts/busy_winter.md +2 -0
@@ 1,6 1,8 @@
---
title: Busy Winter
date: "2022-12-27T21:06:51-06:00"
+aliases:
+ - "/posts/busy_winter"
draft: false
---
A content/posts/cleaning_up.md => content/posts/cleaning_up.md +54 -0
@@ 0,0 1,54 @@
+---
+title: Cleaning Up
+date: "2023-11-11T20:22:52+00:00"
+draft: true
+---
+
+I've restructured the way permalinks are generated.
+While I do prefer underscores for file names,
+URLS are decidedly cleaner when using dashes.
+Luckily Hugo already has a concept for this (`:slug`) so it's as simple as
+setting the permalink template with that 'variable'.
+
+To prevent breakage of existing links, I've set up aliases.
+That's another very convenient feature of Hugo.
+I've also seens some recipes online for creating aliases automatically.
+I'm not currently sold on the idea of setting up named aliases for all posts
+going forward,
+but I'll revisit that in the new year.
+
+And since I'm doing all of that, I decided it's also time to organize
+permalinks based on publication date.
+
+----
+
+I've significantly reworked my development workflow in the last couple months.
+It's become a headache to try and keep all of my internal toolchains,
+script interpretters, and document processors up-to-date across all of the
+hosts I use.
+For a long time, I liked to think that I sidestepped this issue by using POSIX
+scripts.
+But *apparently several distros feel otherwise*.
+
+It's not even Red Hat that I'm specifically frustrated at right now.
+It's come to my attention that `ed` isn't installed by default on Ubuntu.
+Now I know, few people care about `ed`, I'm in an extreme minority.
+It's still POSIX.
+
+So I've centralized all of those installations to a single host
+*(on public internet,
+but without any compromisable servers running,
+and requiring an SSH key for login)*,
+and it `rsync`s built files to a separate web server only accessible on my
+VLAN.
+
+Anyway, that's prompted a gradual revisiting of all of my `Makefile`s.
+It's sometimes interesting to see how my approach to those has changed over
+time.
+Clearly 4 years ago I was obsessed with parameterizing them.
+I think my current attitude is to keep them file-oriented, and anything more
+complicated is pulled out into a separate script.
+Many of my projects now feature a top-level `scripts` folder.
+*(This is also why keeping my script interpreters up-to-date was such a
+hastle.)*
+
M content/posts/disruption_from_google_and_red_hat.md => content/posts/disruption_from_google_and_red_hat.md +2 -0
@@ 1,6 1,8 @@
---
title: Disruption from Google and Red Hat
date: "2023-06-27T14:59:08-05:00"
+aliases:
+ - "/posts/disruption_from_google_and_red_hat"
draft: false
---
M content/posts/docker.md => content/posts/docker.md +2 -0
@@ 1,6 1,8 @@
---
title: "Docker"
date: 2020-07-10T17:12:12-04:00
+aliases:
+ - "/posts/docker"
draft: false
---
M content/posts/fedora_38.md => content/posts/fedora_38.md +2 -0
@@ 1,6 1,8 @@
---
title: "Fedora 38"
date: "2023-04-19T21:59:07-05:00"
+aliases:
+ - "/posts/fedora_38"
draft: false
---
M content/posts/first_x86_server.md => content/posts/first_x86_server.md +2 -0
@@ 1,6 1,8 @@
---
title: First x86 Server
date: "2023-07-27T12:20:19-05:00"
+aliases:
+ - "/posts/first_x86_server"
draft: false
---
M content/posts/html_and_xml.md => content/posts/html_and_xml.md +2 -0
@@ 1,6 1,8 @@
---
title: HTML and XML
date: "2022-10-27T11:08:41-05:00"
+aliases:
+ - "/posts/html_and_xml"
draft: false
---
M content/posts/i_moved.md => content/posts/i_moved.md +2 -0
@@ 1,6 1,8 @@
---
title: "I Moved"
date: 2021-11-11T22:56:46-06:00
+aliases:
+ - "/posts/i_moved"
draft: false
---
M content/posts/identity.md => content/posts/identity.md +2 -0
@@ 1,6 1,8 @@
---
title: Identity
date: 2022-10-06T10:13:32-05:00
+aliases:
+ - "/posts/identity"
draft: false
---
M content/posts/logging_and_rate_limiting_take_2.md => content/posts/logging_and_rate_limiting_take_2.md +2 -0
@@ 1,6 1,8 @@
---
title: Logging and Rate Limiting, Take 2
date: "2023-08-08T12:12:32-05:00"
+aliases:
+ - "/posts/logging_and_rate_limiting_take_2"
draft: false
---
M content/posts/playing_with_web_services.md => content/posts/playing_with_web_services.md +2 -0
@@ 1,6 1,8 @@
---
title: "Playing with Web Services"
date: 2020-04-15T12:24:13-04:00
+aliases:
+ - "/posts/playing-with-web-services"
draft: false
---
M content/posts/progress_and_the_lack_thereof.md => content/posts/progress_and_the_lack_thereof.md +2 -0
@@ 1,6 1,8 @@
---
title: "Progress and the lack thereof"
date: 2022-09-18T17:44:00-05:00
+aliases:
+ - "/posts/progress_and_the_lack_thereof"
draft: false
---
M content/posts/rate_limiting.md => content/posts/rate_limiting.md +2 -0
@@ 1,6 1,8 @@
---
title: Rate Limiting
date: "2023-03-29T23:55:56-05:00"
+aliases:
+ - "/posts/rate_limiting"
draft: false
---
M content/posts/return_to_selfhosted_form.md => content/posts/return_to_selfhosted_form.md +2 -0
@@ 1,6 1,8 @@
---
title: "Return to self-hosted form"
date: 2022-09-14T15:56:55-05:00
+aliases:
+ - "/posts/return_to_selfhosted_form"
draft: false
---
M content/posts/setting_up_hugo.md => content/posts/setting_up_hugo.md +2 -0
@@ 1,6 1,8 @@
---
title: "Setting up Hugo"
date: 2020-01-24T19:32:43-05:00
+aliases:
+ - "/posts/setting-up-hugo"
draft: false
---
M content/posts/systems_updates.md => content/posts/systems_updates.md +2 -0
@@ 1,6 1,8 @@
---
title: Systems Updates
date: "2022-11-12T18:32:12-06:00"
+aliases:
+ - "/posts/systems_updates"
draft: false
---
M content/posts/thoughts_on_the_organization_of_history.md => content/posts/thoughts_on_the_organization_of_history.md +2 -0
@@ 1,6 1,8 @@
---
title: Thoughts on the Organization of History
date: "2023-05-19T11:30:26-05:00"
+aliases:
+ - "/posts/thoughts_on_the_organization_of_history"
draft: false
---
M content/posts/vacation_2023.md => content/posts/vacation_2023.md +2 -0
@@ 1,6 1,8 @@
---
title: Vacation 2023
date: "2023-04-26T09:35:51-05:00"
+aliases:
+ - "/posts/vacation_2023"
draft: false
---
M content/posts/wireguard.md => content/posts/wireguard.md +2 -0
@@ 1,6 1,8 @@
---
title: "WireGuard"
date: 2022-09-28T20:05:20-05:00
+aliases:
+ - "/posts/wireguard"
draft: false
---