From 700774092ffc0858c8339a2764799a121de000d0 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Fri, 26 Apr 2024 09:53:59 -0500 Subject: [PATCH 01/75] fix feed url on paginated taxonomy pages --- layouts/partials/archive.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 02d0ca1..b6d6ee0 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -6,7 +6,7 @@ {{ if .IsHome }}

{{ site.Params.indexTitle | markdownify }}

{{ else }} -

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

+

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

{{ with .Description }}{{ . }}
{{ else }}
{{ end }} {{ end }}{{ end }} {{ .Content }} From f60a231bb5c461a44f3e66be92f9a1a3724ffa96 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Fri, 26 Apr 2024 10:20:20 -0500 Subject: [PATCH 02/75] load 404 gif from cdn --- content/404.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/404.md b/content/404.md index 2b42a62..2d764ec 100644 --- a/content/404.md +++ b/content/404.md @@ -8,7 +8,7 @@ kudos = false We're not sure what you were looking for but it's not here. -![Animated GIF from the movie "The Naked Gun". A man in the foreground proclaims "Please disperse. Nothing to see here." while a building explodes in the background.](/images/nothing-to-see-here.gif) +![Animated GIF from the movie "The Naked Gun". A man in the foreground proclaims "Please disperse. Nothing to see here." while a building explodes in the background.](https://cdn.runtimeterror.dev/images/nothing-to-see-here.gif) Maybe head back [home](/)? From 26a37d52df512cad35384e29b7ddba5bf0f43244 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 27 Apr 2024 11:55:43 -0500 Subject: [PATCH 03/75] add email reply, collapse giscus comments --- .gitmodules | 3 +++ config/_default/params.toml | 1 + layouts/_default/single.html | 13 ++++++++++++- layouts/partials/comments.html | 1 - 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 7298629..14b9f1a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,6 @@ path = themes/risotto url = https://github.com/joeroe/risotto.git +[submodule "themes/hugo-cloak-email"] + path = themes/hugo-cloak-email + url = https://github.com/martignoni/hugo-cloak-email.git diff --git a/config/_default/params.toml b/config/_default/params.toml index 1f8c385..71fee0f 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -54,6 +54,7 @@ giscusTheme = "noborder_gray" analytics = true kudos = true +emailReplies = true [author] name = "John Bowdre" diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 364969d..c0b253a 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -49,9 +49,20 @@ {{- $showKudos = false }} {{- end }} {{- if and (eq .Site.Params.analytics true) (ne $showKudos false) }} - Celebrate this post:  + {{- end }} + {{- $emailReplies := true }} + {{- if eq .Site.Params.emailReplies false }} + {{- $emailReplies = false }} + {{- else if eq .Params.emailReplies false }} + {{- $emailReplies = false }} + {{- end }} + {{- if and (eq .Site.Params.comments true) (ne $emailReplies false) }} + 📧 Reply via email + {{- end }} +
Expand comments {{- partial "comments" . }} +
{{- end }}
{{ end }} diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html index 286468d..a8fbe4a 100644 --- a/layouts/partials/comments.html +++ b/layouts/partials/comments.html @@ -1,5 +1,4 @@ {{ if isset site.Params "giscusrepo" }} -
-
-{{ end }} \ No newline at end of file diff --git a/static/css/custom.css b/static/css/custom.css index 9d8ef0f..8dfb815 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -391,16 +391,3 @@ a.tinylytics_webring { hr { margin-top: 1.5rem; } - -/* summary styling */ -details { - cursor: pointer; -} - -details.comments_widget summary::before { - content: 'Load '; -} - -details[open].comments_widget summary::before { - content: 'Hide '; -} \ No newline at end of file From 61415ed3738618d67f9bc8e5ad7d4ae6f06580a7 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 5 May 2024 13:48:27 -0500 Subject: [PATCH 32/75] unlink unused lang partial --- layouts/partials/footer.html | 1 - 1 file changed, 1 deletion(-) diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index d5cea51..e30e241 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,4 +1,3 @@ -{{- partial "lang.html" . -}}

{"powered_by": [{{- range $i, $link := .Site.Params.powerLinks }}{{ if $i }}, {{ end }}"{{ $link.title }}"{{ end }}]}
<view source>

From 5172f4b0a71fd0cca00c7ab6a99ae05b7ee4edb1 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Fri, 24 May 2024 14:13:49 -0500 Subject: [PATCH 33/75] remove in-progress uses page from main --- content/uses.md | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 content/uses.md diff --git a/content/uses.md b/content/uses.md deleted file mode 100644 index 3afe333..0000000 --- a/content/uses.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Stuff I Use" -date: "2024-01-19T04:15:31Z" -# lastmod: {{ .Date | time.Format "2006-01-02" }} -description: "The hardware, software, and services which keep me going." -toc: true -draft: true -comments: true -timeless: true ---- -Here's the stuff I use and how I use it. - -### Hardware -- **[Framework Laptop Chromebook Edition](https://frame.work/products/laptop-chromebook-12-gen-intel)** (i5-1240P | 32GB RAM | 1TB NVMe). This is my primary personal computing device. Yep, it's an overpowered Chromebook, and I make full use of the [Linux Development Environment](https://www.chromium.org/chromium-os/developer-library/guides/containers/containers-and-vms/) to Do Things. I love it. -- - -### Software - -### Services From 317a025213c39ad885b8f5221f08e0c9c38f03cf Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 16:23:01 -0500 Subject: [PATCH 34/75] start changelog --- content/changelog.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 content/changelog.md diff --git a/content/changelog.md b/content/changelog.md new file mode 100644 index 0000000..da1358f --- /dev/null +++ b/content/changelog.md @@ -0,0 +1,12 @@ +--- +title: "Changelog" +date: "2024-05-26T21:19:08Z" +# lastmod: 2024-05-24 +description: "Maybe I should keep a log of all my site-related tinkering?" +featured: false +toc: false +timeless: true +--- + +#### 2024-05-26 +- Begin changelog \ No newline at end of file From d8cdbce3c8c98b11246abd68666807389d753911 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 16:25:02 -0500 Subject: [PATCH 35/75] simplify logic for displaying kudos and post reply buttons --- archetypes/default.md | 2 +- config/_default/params.toml | 4 +-- config/local/params.toml | 1 - config/preview/params.toml | 2 +- content/404.md | 1 - content/about.md | 2 +- content/changelog.md | 3 +- .../index.md | 1 - content/posts/blocking-ai-crawlers/index.md | 1 - .../index.md | 1 - .../index.md | 1 - .../ditching-vsphere-for-proxmox/index.md | 1 - .../index.md | 1 - .../index.md | 1 - .../enable-fips-fix-aria-lifecycle/index.md | 1 - .../index.md | 1 - .../prettify-hugo-rss-feed-xslt/index.md | 1 - .../index.md | 1 - .../salt-state-netdata-tailscale/index.md | 1 - .../posts/spotlight-on-torchlight/index.md | 1 - .../index.md | 1 - .../index.md | 1 - .../posts/tailscale-ssh-serve-funnel/index.md | 1 - content/posts/using-custom-font-hugo/index.md | 1 - .../virtuallypotato-runtimeterror/index.md | 1 - content/simplex.md | 2 +- layouts/_default/single.html | 31 ++++++------------- 27 files changed, 16 insertions(+), 50 deletions(-) diff --git a/archetypes/default.md b/archetypes/default.md index 57e2c61..3e580c0 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -6,7 +6,7 @@ draft: true description: "This is a new post about..." featured: false toc: true -comments: true +reply: true categories: Tips # Backstage, ChromeOS, Code, Self-Hosting, VMware tags: - android diff --git a/config/_default/params.toml b/config/_default/params.toml index ab2a2f9..32f862a 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -37,10 +37,8 @@ robots = [ ] # Comments -comments = true analytics = true -kudos = true -emailReplies = true +reply = true [author] name = "John Bowdre" diff --git a/config/local/params.toml b/config/local/params.toml index 3b5ce10..51e9b52 100644 --- a/config/local/params.toml +++ b/config/local/params.toml @@ -1,2 +1 @@ -comments = true analytics = false \ No newline at end of file diff --git a/config/preview/params.toml b/config/preview/params.toml index c8a1743..8913a08 100644 --- a/config/preview/params.toml +++ b/config/preview/params.toml @@ -1,2 +1,2 @@ -comments = false +reply = false analytics = false \ No newline at end of file diff --git a/content/404.md b/content/404.md index 2d764ec..1a10e4c 100644 --- a/content/404.md +++ b/content/404.md @@ -3,7 +3,6 @@ title = "404'd!" noindex = true timeless = true comments = true -kudos = false +++ We're not sure what you were looking for but it's not here. diff --git a/content/about.md b/content/about.md index 91ccdc7..67ca941 100644 --- a/content/about.md +++ b/content/about.md @@ -2,7 +2,7 @@ title = "Hi, I'm John." description = "A brief introduction to me, this blog, and what you're likely to see here." timeless = true -comments = false +reply = false aliases = ["tldr", "bio"] +++ ![Me, +/- a few decades](/images/john.jpg) diff --git a/content/changelog.md b/content/changelog.md index da1358f..94eb8f0 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -9,4 +9,5 @@ timeless: true --- #### 2024-05-26 -- Begin changelog \ No newline at end of file +- Begin changelog +- Simplify logic for displaying kudos and post reply buttons \ No newline at end of file diff --git a/content/posts/automating-camera-notifications-home-assistant-ntfy/index.md b/content/posts/automating-camera-notifications-home-assistant-ntfy/index.md index 3184794..b0a9b5c 100644 --- a/content/posts/automating-camera-notifications-home-assistant-ntfy/index.md +++ b/content/posts/automating-camera-notifications-home-assistant-ntfy/index.md @@ -6,7 +6,6 @@ description: "Using the power of Home Assistant automations and Ntfy push notifi featured: true alias: automating-security-camera-notifications-with-home-assistant-and-ntfy toc: true -comments: true thumbnail: thumbnail.png categories: Self-Hosting tags: diff --git a/content/posts/blocking-ai-crawlers/index.md b/content/posts/blocking-ai-crawlers/index.md index 71ecd84..1e9beb9 100644 --- a/content/posts/blocking-ai-crawlers/index.md +++ b/content/posts/blocking-ai-crawlers/index.md @@ -5,7 +5,6 @@ lastmod: "2024-04-14T02:21:57Z" description: "Using Hugo to politely ask AI bots to not steal my content - and then configuring Cloudflare's WAF to actively block them, just to be sure." featured: false toc: true -comments: true categories: Backstage tags: - cloud diff --git a/content/posts/deploy-hugo-neocities-github-actions/index.md b/content/posts/deploy-hugo-neocities-github-actions/index.md index a3fd1e4..7a6e24f 100644 --- a/content/posts/deploy-hugo-neocities-github-actions/index.md +++ b/content/posts/deploy-hugo-neocities-github-actions/index.md @@ -5,7 +5,6 @@ date: 2024-01-21 description: "Using GitHub Actions to automatically deploy a Hugo website to Neocities." featured: false toc: true -comments: true categories: Backstage tags: - cicd diff --git a/content/posts/display-tempest-weather-static-site/index.md b/content/posts/display-tempest-weather-static-site/index.md index 0d50e9b..dc7c1ce 100644 --- a/content/posts/display-tempest-weather-static-site/index.md +++ b/content/posts/display-tempest-weather-static-site/index.md @@ -6,7 +6,6 @@ description: "Using a GitHub Actions workflow to retrieve data from an authentic featured: false thumbnail: "finished-product.png" toc: true -comments: true categories: Backstage tags: - api diff --git a/content/posts/ditching-vsphere-for-proxmox/index.md b/content/posts/ditching-vsphere-for-proxmox/index.md index 0b5d2eb..d52577a 100644 --- a/content/posts/ditching-vsphere-for-proxmox/index.md +++ b/content/posts/ditching-vsphere-for-proxmox/index.md @@ -4,7 +4,6 @@ date: 2023-11-24 description: "I moved my homelab from VMware vSphere to Proxmox VE, and my only regret is that I didn't make this change sooner." featured: false toc: true -comments: true categories: Tips # Projects, Code tags: - homelab diff --git a/content/posts/dynamic-opengraph-images-with-hugo/index.md b/content/posts/dynamic-opengraph-images-with-hugo/index.md index f097c2d..f70f340 100644 --- a/content/posts/dynamic-opengraph-images-with-hugo/index.md +++ b/content/posts/dynamic-opengraph-images-with-hugo/index.md @@ -5,7 +5,6 @@ date: "2024-02-19T04:12:27Z" description: "Using Hugo built-in functions to dynamically generate OpenGraph share images for every post." featured: false toc: true -comments: true thumbnail: hugo-logo-wide.png categories: Backstage tags: diff --git a/content/posts/easy-push-notifications-with-ntfy/index.md b/content/posts/easy-push-notifications-with-ntfy/index.md index fb11bb9..81de62e 100644 --- a/content/posts/easy-push-notifications-with-ntfy/index.md +++ b/content/posts/easy-push-notifications-with-ntfy/index.md @@ -5,7 +5,6 @@ lastmod: 2023-12-22 description: "Deploying and configuring a self-hosted pub-sub notification handler, getting another server to send a notifcation when it boots, and integrating the notification handler into Home Assistant." featured: false toc: true -comments: true categories: Self-Hosting tags: - android diff --git a/content/posts/enable-fips-fix-aria-lifecycle/index.md b/content/posts/enable-fips-fix-aria-lifecycle/index.md index 0adcec9..912431f 100644 --- a/content/posts/enable-fips-fix-aria-lifecycle/index.md +++ b/content/posts/enable-fips-fix-aria-lifecycle/index.md @@ -4,7 +4,6 @@ date: 2024-01-19 # lastmod: 2024-01-19 description: "Never in my life have I seen enabling FIPS *fix* a problem - until now." featured: false -comments: true categories: VMware tags: - vmware diff --git a/content/posts/gemini-capsule-gempost-github-actions/index.md b/content/posts/gemini-capsule-gempost-github-actions/index.md index 647cc70..0cf715f 100644 --- a/content/posts/gemini-capsule-gempost-github-actions/index.md +++ b/content/posts/gemini-capsule-gempost-github-actions/index.md @@ -5,7 +5,6 @@ lastmod: "2024-04-05T21:07:38Z" description: "Deploying a Gemini capsule, powered by Agate, gempost, kineto, Tailscale, and GitHub Actions" featured: false toc: true -comments: true categories: Self-Hosting tags: - caddy diff --git a/content/posts/prettify-hugo-rss-feed-xslt/index.md b/content/posts/prettify-hugo-rss-feed-xslt/index.md index e7eafc2..b9e36f6 100644 --- a/content/posts/prettify-hugo-rss-feed-xslt/index.md +++ b/content/posts/prettify-hugo-rss-feed-xslt/index.md @@ -5,7 +5,6 @@ description: "Making my Hugo-generated RSS XML look as good to human visitors as featured: false thumbnail: pretty-feed.png toc: true -comments: true categories: Backstage tags: - hugo diff --git a/content/posts/publish-services-cloudflare-tunnel/index.md b/content/posts/publish-services-cloudflare-tunnel/index.md index c281774..c95e079 100644 --- a/content/posts/publish-services-cloudflare-tunnel/index.md +++ b/content/posts/publish-services-cloudflare-tunnel/index.md @@ -5,7 +5,6 @@ date: 2024-01-15 description: "Exploring Cloudflare Tunnel as an alternative to Tailscale Funnel for secure public access to internal resources." featured: false toc: true -comments: true categories: Self-Hosting tags: - cloudflare diff --git a/content/posts/salt-state-netdata-tailscale/index.md b/content/posts/salt-state-netdata-tailscale/index.md index 0c9fef1..3558c50 100644 --- a/content/posts/salt-state-netdata-tailscale/index.md +++ b/content/posts/salt-state-netdata-tailscale/index.md @@ -5,7 +5,6 @@ lastmod: 2024-02-03 description: "A hasty Salt state to deploy netdata monitoring and publish it internally on my tailnet with Tailscale Serve" featured: false toc: true -comments: true categories: Code tags: - homelab diff --git a/content/posts/spotlight-on-torchlight/index.md b/content/posts/spotlight-on-torchlight/index.md index f42c4e1..70f1b5c 100644 --- a/content/posts/spotlight-on-torchlight/index.md +++ b/content/posts/spotlight-on-torchlight/index.md @@ -5,7 +5,6 @@ lastmod: 2023-11-13 description: "Syntax highlighting powered by the Torchlight.dev API makes it easier to dress up code blocks. Here's an overview of what I did to replace this blog's built-in Hugo highlighter (Chroma) with Torchlight." featured: false toc: true -comments: true categories: Backstage tags: - javascript diff --git a/content/posts/systemctl-edit-delay-service-startup/index.md b/content/posts/systemctl-edit-delay-service-startup/index.md index a4b8b87..67a74b9 100644 --- a/content/posts/systemctl-edit-delay-service-startup/index.md +++ b/content/posts/systemctl-edit-delay-service-startup/index.md @@ -5,7 +5,6 @@ date: 2023-10-15 description: "Quick notes on using `systemctl edit` to override a systemd service to delay its startup." featured: false toc: false -comments: true categories: Tips # Projects, Code tags: - crostini diff --git a/content/posts/tailscale-serve-docker-compose-sidecar/index.md b/content/posts/tailscale-serve-docker-compose-sidecar/index.md index 4397cc5..d4b5e9b 100644 --- a/content/posts/tailscale-serve-docker-compose-sidecar/index.md +++ b/content/posts/tailscale-serve-docker-compose-sidecar/index.md @@ -5,7 +5,6 @@ lastmod: 2024-02-07 description: "Using Docker Compose to deploy containerized applications and make them available via Tailscale Serve and Tailscale Funnel" featured: false toc: true -comments: true categories: Self-Hosting tags: - containers diff --git a/content/posts/tailscale-ssh-serve-funnel/index.md b/content/posts/tailscale-ssh-serve-funnel/index.md index 2bd7d0b..2425300 100644 --- a/content/posts/tailscale-ssh-serve-funnel/index.md +++ b/content/posts/tailscale-ssh-serve-funnel/index.md @@ -5,7 +5,6 @@ date: 2023-12-20 description: "Exploring some of my favorite Tailscale addon features: SSH, Serve, and Funnel." featured: false toc: true -comments: true categories: Tips # Projects, Code tags: - homelab diff --git a/content/posts/using-custom-font-hugo/index.md b/content/posts/using-custom-font-hugo/index.md index 1962318..408a78a 100644 --- a/content/posts/using-custom-font-hugo/index.md +++ b/content/posts/using-custom-font-hugo/index.md @@ -5,7 +5,6 @@ lastmod: "2024-05-01T13:29:30Z" description: "Installing a custom font on a Hugo site, and taking steps to protect the paid font files from unauthorized distribution. Plus a brief exploration of a pair of storage CDNs, and using Tailscale in a GitHub Actions workflow." featured: false toc: true -comments: true categories: Backstage tags: - bunny diff --git a/content/posts/virtuallypotato-runtimeterror/index.md b/content/posts/virtuallypotato-runtimeterror/index.md index 2babfd2..4a1f709 100644 --- a/content/posts/virtuallypotato-runtimeterror/index.md +++ b/content/posts/virtuallypotato-runtimeterror/index.md @@ -6,7 +6,6 @@ timeless: true draft: false description: "This blog has migrated from virtuallypotato.com to runtimeterror.dev." toc: false -comments: true categories: Backstage tags: - meta diff --git a/content/simplex.md b/content/simplex.md index c27283b..d6a4b29 100644 --- a/content/simplex.md +++ b/content/simplex.md @@ -1,5 +1,5 @@ +++ -comments = false +reply = false toc = false usePageBundles = false showDate = false diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 03da65a..cc059bc 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -33,36 +33,23 @@
{{ .Content }}
- - {{- $showComments := true }} - {{- if eq .Site.Params.comments false }} - {{- $showComments = false }} - {{- else if eq .Params.comments false }} - {{- $showComments = false }} + {{- $reply := true }} + {{- if eq .Site.Params.reply false }} + {{- $reply = false }} + {{- else if eq .Params.reply false }} + {{- $reply = false }} {{- end }} - {{- if ne $showComments false }} + {{- if or (eq $reply true) (eq .Site.Params.analytics "true") }}
- {{- $showKudos := true }} - {{- if eq .Site.Params.kudos false }} - {{- $showKudos = false }} - {{- else if eq .Params.kudos false }} - {{- $showKudos = false }} - {{- end }} - {{- if and (eq .Site.Params.analytics true) (ne $showKudos false) }} + {{- if eq .Site.Params.analytics true }} {{- end }} - {{- $emailReplies := true }} - {{- if eq .Site.Params.emailReplies false }} - {{- $emailReplies = false }} - {{- else if eq .Params.emailReplies false }} - {{- $emailReplies = false }} - {{- end }} - {{- if and (eq .Site.Params.comments true) (eq $emailReplies true) }} + {{- if (eq $reply true) }} {{- $path := .Page.RelPermalink | path.Dir }} {{- $path := strings.Trim $path "/" }} {{- $address := printf "blogreply.%s@%s" $path "runtimeterror.dev" }} 📧 Reply by email {{- end }} {{- end }} -
+
{{ end }} From 214b7691f421a191c8c4bcbb3c270d0cf8f1f44e Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 16:28:49 -0500 Subject: [PATCH 36/75] tweak changelog formatting --- content/changelog.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index 94eb8f0..34999fa 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,13 +1,12 @@ --- title: "Changelog" date: "2024-05-26T21:19:08Z" -# lastmod: 2024-05-24 +lastmod: "2024-05-26T21:28:25Z" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true --- - -#### 2024-05-26 +**2024-05-26:** - Begin changelog - Simplify logic for displaying kudos and post reply buttons \ No newline at end of file From 053f098546c352ce24a0622fb5924fe3fe7a3b1c Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 16:49:40 -0500 Subject: [PATCH 37/75] reduce gap for paragraphs followed by lists --- content/changelog.md | 3 ++- static/css/custom.css | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/content/changelog.md b/content/changelog.md index 34999fa..cf79664 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -9,4 +9,5 @@ timeless: true --- **2024-05-26:** - Begin changelog -- Simplify logic for displaying kudos and post reply buttons \ No newline at end of file +- Simplify logic for displaying kudos and post reply buttons +- Reduce gap for paragraphs followed by lists \ No newline at end of file diff --git a/static/css/custom.css b/static/css/custom.css index 8dfb815..bd42e10 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -391,3 +391,14 @@ a.tinylytics_webring { hr { margin-top: 1.5rem; } + +/* no extra space for paragraphs with lists */ +p:not(:has(+ ol)), +p:not(:has(+ ul)) { + margin-bottom: 1.5em; +} + +p:has(+ ol), +p:has(+ ul) { + margin-bottom: 0; +} From 7dd8120fb32318299c7a31a4af4c13690df6ae3e Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 16:51:02 -0500 Subject: [PATCH 38/75] add /playground page to describe homelab setup --- content/homelab.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 content/homelab.md diff --git a/content/homelab.md b/content/homelab.md new file mode 100644 index 0000000..4709bf6 --- /dev/null +++ b/content/homelab.md @@ -0,0 +1,82 @@ +--- +title: "My Playground" +date: "2024-05-26T21:30:51Z" +# lastmod: 2024-05-24 +aliases: + - homelab + - playground +description: "I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground." +featured: false +toc: true +timeless: true +--- +### Connectivity +*Everything* is connected to my Tailscale tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). + +### On Premise +#### Proxmox VE 8 Cluster +- 1x [Intel NUC 9 Extreme (NUC9i9QNX)](https://www.amazon.com/Intel-Extreme-NUC9i9QNX-Single-Model/dp/B0851JV4R8) + - 9th Gen Intel® Core™ i9-9980HK (8 cores @ 2.40GHz) + - 64GB RAM + - 1x 512GB NVMe system drive + - 2x 1TB NVMe drives (ZFS) +- 2x [HP Elite Mini 800 G9](https://www.hp.com/us-en/shop/pdp/hp-elite-mini-800-g9-desktop-pc-p-88u16ua-aba-1) + - 12th Gen Intel® Core™ i7-12700 (8 cores @ 2.10GHz, 4 cores @ 1.60GHz) + - 96GB RAM + - 1x 512GB NVMe system drive + - 1x 2TB NVMe drive (ZFS) +- [Unifi USW Flex XG 10GbE Switch](https://store.ui.com/us/en/collections/unifi-switching-utility-10-gbps-ethernet/products/unifi-flex-xg) + +The Proxmox cluster hosts a number of VMs and LXC containers: +- `doc`: Ubuntu 22.04 Docker host for various on-prem container workloads, served via [Tailscale Serve](/tailscale-ssh-serve-funnel/#tailscale-serve) / [Cloudflare Tunnel](/publish-services-cloudflare-tunnel/): + - [Calibre Web](https://github.com/janeczku/calibre-web) for managing my ebooks + - [Crowdsec](https://www.crowdsec.net/) log processor + - [Cyberchef](https://github.com/gchq/CyberChef), the Cyber Swiss Army Knife + - [Hashicorp Vault](https://www.vaultproject.io/) for secrets management + - [Miniflux](https://miniflux.app/) feed reader + - [Tailscale Golink](https://github.com/tailscale/golink), a private shortlink service ([post](/tailscale-golink-private-shortlinks-tailnet/)) +- `files`: Ubuntu 20.04 file server. Serves (selected) files semi-publicly through [Tailscale Funnel](/tailscale-ssh-serve-funnel/#tailscale-funnel) +- `hassos`: [Home Assistant OS](https://www.home-assistant.io/installation/), manages all my "smart home" stuff ([post](/automating-camera-notifications-home-assistant-ntfy/)) +- `immich`: Ubuntu 22.04 [Immich](https://immich.app/) server +- `ipam`: Ubuntu 20.04 [phpIPAM](https://phpipam.net/) server ([post](/integrating-phpipam-with-vrealize-automation-8/#step-0-phpipam-installation-and-base-configuration)) +- `salt`: Ubuntu 20.04 [Salt](https://saltproject.io/) Master server for configuration management +- `unifi`: UniFi Network Application. Manages the Unifi switch. + +#### Hashicorp Nomad Cluster (WIP) +- 3x [Zima Blade 7700](https://shop.zimaboard.com/products/zimablade-single-board-server-for-cyber-native) + - Intel® Celeron® N3450 (4 cores @ 1.10GHz) + - 16GB RAM + - 1x 32GB eMMC + - 1x 1TB SATA SSD +- [TP-Link TL-SG108E 1GbE Switch](https://www.tp-link.com/us/home-networking/8-port-switch/tl-sg108e/) + +This triad of cute little single-board computers will *eventually* be a combination Nomad + Consul + Vault cluster, fully managed with Salt. + +Also here's some more about it. + +#### [PiAware](https://www.flightaware.com/adsb/piaware/build) ADS-B/MLAT Receiver +- Raspberry Pi 2 Model B +- 2x [RTL-SDR Blog V3 R860 RTL2832U 1PPM TCXO SMA Dongle](https://www.amazon.com/gp/product/B0129EBDS2) +- [SIGNALPLUS 1090MHz 12dBi 1.1m ADS-B Antenna](https://www.amazon.com/gp/product/B08XYRMG3V/) + +I like to know what's flying overhead, and I'm also feeding flight data to [flightaware.com](https://flightaware.com) and [adsb.fi](https://adsb.fi). + +### Cloud +#### Oracle Cloud Infrastructure +- `git`: Ubuntu 22.04 [Forgejo](https://forgejo.org/) server for [git.bowdre.net](https://git.bowdre.net/explore/repos) +- `smp2`: Ubuntu 22.04 [SimpleX](/simplex/) server + +### Google Cloud Platform +- `smp`: Ubuntu 22.04 [SimpleX](/simplex/) server +- `smp1`: Ubuntu 22.04 [SimpleX](/simplex/) server + +### Vultr +- `volly`: Ubuntu 22.04 Docker host for various workloads, served either through [Caddy](https://caddyserver.com/) or [Cloudflare Tunnel](/publish-services-cloudflare-tunnel/): + - [Agate](https://github.com/mbrubeck/agate) Gemini server ([post](/gemini-capsule-gempost-github-actions/)) + - [Crowdsec](https://www.crowdsec.net) security engine + - [Kineto](https://github.com/beelux/kineto) Gemini-to-HTTP proxy ([post](/gemini-capsule-gempost-github-actions/)) + - [Linkding](https://github.com/sissbruecker/linkding) bookmark manager serving [links.bowdre.net](https://links.bowdre.net/bookmarks/shared) + - [ntfy](https://ntfy.sh/) notification service ([post](/easy-push-notifications-with-ntfy/)) + - [SearXNG](https://docs.searxng.org/) self-hosted metasearch engine serving [grep.vpota.to](https://grep.vpota.to) ([post](https://scribbles.jbowdre.lol/post/self-hosting-a-search-engine-iyjdlk6y)) + - [Uptime Kuma](https://github.com/louislam/uptime-kuma) for monitoring internal services (via Tailscale) + - [vault-unseal](https://github.com/lrstanley/vault-unseal) to auto-unseal my on-prem Vault instance From ab98604ec24cc5941da9cba1e3756171519a08f4 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 17:34:14 -0500 Subject: [PATCH 39/75] add colophon --- content/colophon.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 content/colophon.md diff --git a/content/colophon.md b/content/colophon.md new file mode 100644 index 0000000..72d15a2 --- /dev/null +++ b/content/colophon.md @@ -0,0 +1,19 @@ +--- +title: "Colophon" +date: "2024-05-26T22:30:58Z" +# lastmod: 2024-05-24 +description: "There's a lot that goes into this site. Let me tell you how it works." +featured: false +toc: true +timeless: true +--- + +### This site... +- is built with [Hugo](https://gohugo.io/) using the [risotto](https://github.com/joeroe/risotto) theme with many, many customizations. +- uses the font face [Berkeley Mono](https://berkeleygraphics.com/typefaces/berkeley-mono/) ([details](/using-custom-font-hugo/)). +- performs syntax highlighting with [Torchlight](https://torchlight.dev) ([details](/spotlight-on-torchlight/)). +- provides site search with [lunr](https://lunrjs.com/) based on an implementation detailed by [Victoria Drake](https://victoria.dev/blog/add-search-to-hugo-static-sites-with-lunr/). +- leverages [tinylytics](https://tinylytics.app/) for privacy-friendly analytics. +- is published to and hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). +- has a [Gemini](https://geminiprotocol.net) mirror at `gemini://gmi.runtimeterror.dev`, which is deployed to a [Vultr](https://www.vultr.com/) VPS through a GitHub Actions workflow and served with [Agate](https://github.com/mbrubeck/agate). +- uses [bunny.net](https://bunny.net) for DNS and CDN services. From b01764ab47847135719f2031772e395ebf869412 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 17:34:22 -0500 Subject: [PATCH 40/75] update homelab formatting --- content/homelab.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/homelab.md b/content/homelab.md index 4709bf6..762e732 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -62,15 +62,15 @@ Also here's some more about it. I like to know what's flying overhead, and I'm also feeding flight data to [flightaware.com](https://flightaware.com) and [adsb.fi](https://adsb.fi). ### Cloud -#### Oracle Cloud Infrastructure +#### [Oracle Cloud Infrastructure](https://www.oracle.com/cloud/free/) - `git`: Ubuntu 22.04 [Forgejo](https://forgejo.org/) server for [git.bowdre.net](https://git.bowdre.net/explore/repos) - `smp2`: Ubuntu 22.04 [SimpleX](/simplex/) server -### Google Cloud Platform +#### [Google Cloud Platform](https://cloud.google.com/free/docs/free-cloud-features) - `smp`: Ubuntu 22.04 [SimpleX](/simplex/) server - `smp1`: Ubuntu 22.04 [SimpleX](/simplex/) server -### Vultr +#### [Vultr](https://www.vultr.com) - `volly`: Ubuntu 22.04 Docker host for various workloads, served either through [Caddy](https://caddyserver.com/) or [Cloudflare Tunnel](/publish-services-cloudflare-tunnel/): - [Agate](https://github.com/mbrubeck/agate) Gemini server ([post](/gemini-capsule-gempost-github-actions/)) - [Crowdsec](https://www.crowdsec.net) security engine From b8a4efc8d47ac0ac547a1474d0ce03682a994749 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 17:36:49 -0500 Subject: [PATCH 41/75] add bunny powerLink --- config/_default/params.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/_default/params.toml b/config/_default/params.toml index 32f862a..4aea9b7 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -184,6 +184,10 @@ icon = "fa-solid fa-envelope" title = "Email" url = "mailto:jbowdre@omg.lol" +[[powerLinks]] +title = "bunny" +url = "https://bunny.net" + [[powerLinks]] title = "hugo" url = "https://gohugo.io" From c0b491bd3333c6e7da4eead230871a3ce74b7c26 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 26 May 2024 17:37:58 -0500 Subject: [PATCH 42/75] add github link to colophon --- content/colophon.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/colophon.md b/content/colophon.md index 72d15a2..ab6a2fb 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -17,3 +17,5 @@ timeless: true - is published to and hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). - has a [Gemini](https://geminiprotocol.net) mirror at `gemini://gmi.runtimeterror.dev`, which is deployed to a [Vultr](https://www.vultr.com/) VPS through a GitHub Actions workflow and served with [Agate](https://github.com/mbrubeck/agate). - uses [bunny.net](https://bunny.net) for DNS and CDN services. + +Look behind the scenes at [github.com/jbowdre/runtimeterror](https://github.com/jbowdre/runtimeterror). \ No newline at end of file From a7da18afb9c7f989da2b5631c05be8466a02ee04 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Mon, 27 May 2024 18:20:27 -0500 Subject: [PATCH 43/75] replace powered_by footer links with slashpages --- config/_default/params.toml | 30 +++++++++--------------------- content/changelog.md | 3 +++ layouts/partials/footer.html | 2 +- static/css/custom.css | 6 +++--- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index 4aea9b7..818306d 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -184,29 +184,17 @@ icon = "fa-solid fa-envelope" title = "Email" url = "mailto:jbowdre@omg.lol" -[[powerLinks]] -title = "bunny" -url = "https://bunny.net" +[[slashPages]] +title = "/changelog" +url = "/changelog" -[[powerLinks]] -title = "hugo" -url = "https://gohugo.io" +[[slashPages]] +title = "/colophon" +url = "/colophon" -[[powerLinks]] -title = "neocities" -url = "https://neocities.org/about" - -[[powerLinks]] -title = "risotto" -url = "https://github.com/joeroe/risotto" - -[[powerLinks]] -title = "torchlight" -url = "https://torchlight.dev" - -[[powerLinks]] -title = "tinylytics" -url = "https://tinylytics.app/home" +[[slashPages]] +title = "/homelab" +url = "/homelab" [[verifyLinks]] title = "omg.lol" diff --git a/content/changelog.md b/content/changelog.md index cf79664..4ba862f 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -7,6 +7,9 @@ featured: false toc: false timeless: true --- +**2024-05-27:** +- Replace "powered by" links with slashpages + **2024-05-26:** - Begin changelog - Simplify logic for displaying kudos and post reply buttons diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index e30e241..055c81d 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ -

{"powered_by": [{{- range $i, $link := .Site.Params.powerLinks }}{{ if $i }}, {{ end }}"{{ $link.title }}"{{ end }}]} +

diff --git a/static/css/custom.css b/static/css/custom.css index bd42e10..dfd1a63 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -35,18 +35,18 @@ line-height: 1.3rem; } -.powered_by { +.footer_links { font-size: 12px; line-height: 1.1rem; color: var(--muted); } -.powered_by a:link, .powered_by a:visited { +.footer_links a:link, .footer_links a:visited { color: var(--off-fg); text-decoration: none; } -.powered_by a:hover { +.footer_links a:hover { color: var(--hover); text-decoration: underline; } From 84ef5f26d642a94b7d8bbc15393b6452be1c1453 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Mon, 27 May 2024 19:05:51 -0500 Subject: [PATCH 44/75] open slashpages.net in a new tab --- layouts/partials/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 055c81d..dc63590 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ - From 78ce8c9a1037a7fb0e2582df6510217274f0ffc6 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Mon, 27 May 2024 19:20:54 -0500 Subject: [PATCH 45/75] slashpage formatting tweaks --- config/_default/params.toml | 3 +++ layouts/partials/footer.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index 818306d..7d2a656 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -187,14 +187,17 @@ url = "mailto:jbowdre@omg.lol" [[slashPages]] title = "/changelog" url = "/changelog" +label = "recent changes to the site" [[slashPages]] title = "/colophon" url = "/colophon" +label = "how this site works" [[slashPages]] title = "/homelab" url = "/homelab" +label = "my homelab setup" [[verifyLinks]] title = "omg.lol" diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index dc63590..cde209f 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ - From bddb2afef4ac0163c0dbef10abf31218344efaba Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Mon, 27 May 2024 20:09:32 -0500 Subject: [PATCH 46/75] add /save, minor tweaks to other slashpages --- config/_default/params.toml | 5 +++++ content/changelog.md | 4 ++-- content/colophon.md | 2 +- content/homelab.md | 3 +-- content/save.md | 19 +++++++++++++++++++ 5 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 content/save.md diff --git a/config/_default/params.toml b/config/_default/params.toml index 7d2a656..17b8837 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -199,6 +199,11 @@ title = "/homelab" url = "/homelab" label = "my homelab setup" +[[slashPages]] +title = "/save" +url = "/save" +label = "referral links" + [[verifyLinks]] title = "omg.lol" url = "https://proven.lol/cd10d3" diff --git a/content/changelog.md b/content/changelog.md index 4ba862f..c8a7264 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,7 +1,7 @@ --- -title: "Changelog" +title: "/changelog" date: "2024-05-26T21:19:08Z" -lastmod: "2024-05-26T21:28:25Z" +lastmod: "2024-05-28T01:02:49Z" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false diff --git a/content/colophon.md b/content/colophon.md index ab6a2fb..66a372d 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -1,5 +1,5 @@ --- -title: "Colophon" +title: "/colophon" date: "2024-05-26T22:30:58Z" # lastmod: 2024-05-24 description: "There's a lot that goes into this site. Let me tell you how it works." diff --git a/content/homelab.md b/content/homelab.md index 762e732..c6b50f8 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -1,9 +1,8 @@ --- -title: "My Playground" +title: "/homelab" date: "2024-05-26T21:30:51Z" # lastmod: 2024-05-24 aliases: - - homelab - playground description: "I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground." featured: false diff --git a/content/save.md b/content/save.md new file mode 100644 index 0000000..78c52bb --- /dev/null +++ b/content/save.md @@ -0,0 +1,19 @@ +--- +title: "/save" +date: "2024-05-28T00:25:51Z" +# lastmod: 2024-05-24 +description: "Referral links for services I use and heartily recommend." +featured: false +toc: true +timeless: true +--- + +### I use and recommend: +- **[Bunny.net](https://bunny.net?ref=0eh23p45xs)** DNS and CDN service that really hops +- **[Cloaked](https://join.cloaked.app/?utm_source=referral&utm_campaign=Ee83SGN8OR)** Protect your personal information by generating unique identities +- **[Fastmail](https://app.fastmail.com/signup/?STKI=/u29803368)** Fast, private email +- **[NextDNS](https://nextdns.io/?from=2jujzdcc)** Cloud-based DNS filtering +- **[omg.lol](https://home.omg.lol/referred-by/jbowdre)** The best web address you'll ever have +- **[Privacy.com](https://app.privacy.com/join/JMMQ7)** Unique merchant-locked cards for every online purchase +- **[Vultr](https://www.vultr.com/?ref=9488431)** Cost-effective cloud infrastructure + From a650ff0720ac0daa6abb558791972e3728ab5d81 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 16:13:55 -0500 Subject: [PATCH 47/75] slashpage tweaks --- content/changelog.md | 8 ++++++-- content/colophon.md | 11 ++++++----- content/homelab.md | 6 ++++-- content/save.md | 4 +++- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index c8a7264..00906ca 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,16 +1,20 @@ --- title: "/changelog" date: "2024-05-26T21:19:08Z" -lastmod: "2024-05-28T01:02:49Z" +lastmod: "2024-05-28" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true --- +High-level list of config/layout changes to the site: + **2024-05-27:** - Replace "powered by" links with slashpages **2024-05-26:** - Begin changelog - Simplify logic for displaying kudos and post reply buttons -- Reduce gap for paragraphs followed by lists \ No newline at end of file +- Reduce gap for paragraphs followed by lists + +The full changelog is of course [on GitHub](https://github.com/jbowdre/runtimeterror/commits/main/). \ No newline at end of file diff --git a/content/colophon.md b/content/colophon.md index 66a372d..6bae834 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -1,21 +1,22 @@ --- title: "/colophon" date: "2024-05-26T22:30:58Z" -# lastmod: 2024-05-24 +lastmod: "2024-05-28" description: "There's a lot that goes into this site. Let me tell you how it works." featured: false toc: true timeless: true --- +I don't consider myself to be a web developer, but I've learned a *ton* through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`. ### This site... -- is built with [Hugo](https://gohugo.io/) using the [risotto](https://github.com/joeroe/risotto) theme with many, many customizations. +- is built with [Hugo](https://gohugo.io/) using the [risotto](https://github.com/joeroe/risotto) theme with many, many tweaks and customizations. - uses the font face [Berkeley Mono](https://berkeleygraphics.com/typefaces/berkeley-mono/) ([details](/using-custom-font-hugo/)). - performs syntax highlighting with [Torchlight](https://torchlight.dev) ([details](/spotlight-on-torchlight/)). - provides site search with [lunr](https://lunrjs.com/) based on an implementation detailed by [Victoria Drake](https://victoria.dev/blog/add-search-to-hugo-static-sites-with-lunr/). -- leverages [tinylytics](https://tinylytics.app/) for privacy-friendly analytics. -- is published to and hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). +- leverages [tinylytics](https://tinylytics.app/) for privacy-friendly analytics and cute kudos buttons. +- is published to / hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). - has a [Gemini](https://geminiprotocol.net) mirror at `gemini://gmi.runtimeterror.dev`, which is deployed to a [Vultr](https://www.vultr.com/) VPS through a GitHub Actions workflow and served with [Agate](https://github.com/mbrubeck/agate). - uses [bunny.net](https://bunny.net) for DNS and CDN services. -Look behind the scenes at [github.com/jbowdre/runtimeterror](https://github.com/jbowdre/runtimeterror). \ No newline at end of file +Look behind the scenes at [github.com/jbowdre/runtimeterror](https://github.com/jbowdre/runtimeterror). diff --git a/content/homelab.md b/content/homelab.md index c6b50f8..22b8673 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -1,14 +1,16 @@ --- title: "/homelab" date: "2024-05-26T21:30:51Z" -# lastmod: 2024-05-24 +lastmod: "2024-05-28" aliases: - playground -description: "I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground." +description: "The systems I use for fun." featured: false toc: true timeless: true --- +I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground. + ### Connectivity *Everything* is connected to my Tailscale tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). diff --git a/content/save.md b/content/save.md index 78c52bb..d45ac36 100644 --- a/content/save.md +++ b/content/save.md @@ -1,13 +1,15 @@ --- title: "/save" date: "2024-05-28T00:25:51Z" -# lastmod: 2024-05-24 +lastmod: "2024-05-28" description: "Referral links for services I use and heartily recommend." featured: false toc: true timeless: true --- +I pay for a lot of quality services that I recommend non-stop. This `/saves` page lists few referral links which might save you and/or me some money if you check them out. + ### I use and recommend: - **[Bunny.net](https://bunny.net?ref=0eh23p45xs)** DNS and CDN service that really hops - **[Cloaked](https://join.cloaked.app/?utm_source=referral&utm_campaign=Ee83SGN8OR)** Protect your personal information by generating unique identities From 96e66472025148a9040b688eb7b3f11b26f7ee9f Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 16:20:43 -0500 Subject: [PATCH 48/75] homelab: add tailscale link --- content/homelab.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/homelab.md b/content/homelab.md index 22b8673..3f2b12a 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -12,7 +12,7 @@ timeless: true I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground. ### Connectivity -*Everything* is connected to my Tailscale tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). +*Everything* is connected to my [Tailscale](https://tailscale.com) tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). ### On Premise #### Proxmox VE 8 Cluster From edba207fe9ce63e5b26c595ff74ed26e211df2b6 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 22:39:43 -0500 Subject: [PATCH 49/75] add /uses --- config/_default/params.toml | 5 +++ content/uses.md | 77 +++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 content/uses.md diff --git a/config/_default/params.toml b/config/_default/params.toml index 17b8837..f1375d7 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -204,6 +204,11 @@ title = "/save" url = "/save" label = "referral links" +[[slashPages]] +title = "/uses" +url = "/uses" +label = "stuff i use" + [[verifyLinks]] title = "omg.lol" url = "https://proven.lol/cd10d3" diff --git a/content/uses.md b/content/uses.md new file mode 100644 index 0000000..3471218 --- /dev/null +++ b/content/uses.md @@ -0,0 +1,77 @@ +--- +title: "/uses" +date: "2024-05-29" +# lastmod: {{ .Date | time.Format "2006-01-02" }} +description: "The hardware, software, and services which keep me going." +toc: true +timeless: true +categories: + - slashes +--- +*Here's some of the stuff I use and how I use it.* + +### Hardware +*Not counting my [homelab](/homelab).* +- **[Framework Laptop Chromebook Edition](https://frame.work/products/laptop-chromebook-12-gen-intel)** (i5-1240P | 32GB RAM | 1TB NVMe). Yep, it's an overpowered Chromebook, and my primary computing device. I make full use of the [ChromeOS Linux Development Environment](https://www.chromium.org/chromium-os/developer-library/guides/containers/containers-and-vms/), with [Nix](https://nixos.org/) for package management. +- **[Pixelbook](https://blog.google/products/pixelbook/introducing-pixelbook/)** running [NixOS](https://nixos.org/) for when I need a "real" Linux computer. +- **[BOOX Note Air3 C](https://shop.boox.com/products/noteair3) e-ink tablet** for reading and (hand)writing notes (more on this [here](https://scribbles.jbowdre.lol/post/boox-note-air-3-c-e-ink-writing-tablet)). +- **[Creality Ender 3 Pro 3D Printer](https://www.creality.com/products/ender-3-pro-3d-printer)**, or at least that's how it started. It's got a direct-drive conversion, a "silent" board running Klipper firmware, and more printed part upgrades than I can remember. +- **[Weatherflow Tempest Weather Station](https://shop.tempest.earth/products/tempest)** to help me get my Wx nerd on. + +### Everyday Carry +*What has it got in its pockets/backpack?* +- **[Flipper Zero](https://flipperzero.one/)** running [Momentum Firmware](https://momentum-fw.dev/) in my pocket or bag for on-the-go hacking and exploration. +- **[Leatherman FREE K4](https://www.leatherman.com/free-k4-590.html)** knife/multitool in my pocket for cutting and tinkering. +- **[Milky lactase tablets](https://shopmilky.com/)** in my wallet so I can enjoy dairy without consequences. +- **[Oura Ring](https://ouraring.com/product/rings/heritage)** (3rd generation, Heritage Black) on my middle finger for sleep and readiness/recovery tracking. +- **[Pixel 8 Pro](https://store.google.com/product/pixel_8_pro)** in my pocket, running [GrapheneOS](https://grapheneos.org/) as my daily-driver (more on how I use that [here](https://scribbles.jbowdre.lol/post/daily-driving-grapheneos)). +- **[Pixel Buds Pro](https://store.google.com/product/pixel_buds_pro)** in my ears, with noise cancelling so I don't have to acknowledge the world around me. +- **[Pixel Watch 2](https://store.google.com/product/pixel_watch_2)** on my wrist, for notifications and fitness tracking. +- **[ProxGrind RF Field Detector Card](https://www.redteamtools.com/RFID_LF_HF_Field_Detector_Card)** on my keychain to quickly learn about RFID/NFC readers. +- **[Ridge Wallet](https://ridge.com/products/aluminum-gunmetal)** in my pocket for keeping my cards handy. +- **[Ti EDC Backpack](https://bigidesign.com/pages/ti-edc-backpack-landing-page)** for carrying my stuff. +- **[Yubico Yubikey 5C NFC](https://www.yubico.com/product/yubikey-5c-nfc/)** on my keychain for hardware token things. + +### Software +*Computer and web apps.* +- **[Calibre](https://calibre-ebook.com/)** for collecting, converting, and managing my eBooks. +- **[Fish shell](https://fishshell.com/)**, a really smart, modern, heavily configurable shell. +- **[Home Assistant](https://www.home-assistant.io/)** for controlling my "smart" home. +- **[Home Manager](https://github.com/nix-community/home-manager)** for managing packages and configurations across multiple systems ([dotfiles](https://github.com/jbowdre/dotfiles)). +- **[Immich](https://immich.app/)**, a self-hosted photo and video management solution. +- **[Linkding](https://github.com/sissbruecker/linkding)** as a self-hosted bookmark manager. +- **[Miniflux](https://miniflux.app/)**, a self-hosted minimalist feed reader. +- **[Obsidian](https://obsidian.md/)** for collecting/organizing notes. You can see some of them [here](https://notes.runtimeterror.dev/). +- **[Phanpy](https://phanpy.social/#/)**, a minimal and opinionated Mastodon web client. +- **[Tabby](https://tabby.sh/)**, a beautiful cross-platform terminal app. +- **[tmux](https://github.com/tmux/tmux)** because *I heard you like terminals so I put a terminal in your terminal so you can terminal while you terminal*. +- **[Vim](https://www.vim.org/)** for coding and development without a GUI. +- **[VSCode](https://code.visualstudio.com/)** for most coding and development. + +### Android Apps +*Skipping the obvious ones for services mentioned elsewhere on this page...* +- **[Cheogram](https://play.google.com/store/apps/details?id=com.cheogram.android.playstore)** ([F-Droid](https://f-droid.org/packages/com.cheogram.android/)) XMPP client, with great integration to [jmp.chat](https://jmp.chat/). +- **[Element](https://play.google.com/store/apps/details?id=im.vector.app)** ([F-Droid](https://f-droid.org/en/packages/im.vector.app/)) Matrix chat client. +- **[Firefox Focus](https://play.google.com/store/apps/details?id=org.mozilla.focus)** Fast and private web browser for throw-away browsing sessions. +- **[Firefox](https://play.google.com/store/apps/details?id=org.mozilla.firefox)** for general web browsing. +- **[JBV1](https://play.google.com/store/apps/details?id=com.johnboysoftware.jbv1)** gives super powers to my Valentine One radar detector. +- **[Lagrange](https://skyjake.github.io/fdroid/repo/)** browser for [Gemini](https://geminiprotocol.net/). +- **[RaceBox](https://play.google.com/store/apps/details?id=pro.RaceBox.androidapp)** / **[RaceChrono](https://play.google.com/store/apps/details?id=com.racechrono.app)** for recording GPS/acceleration data during my [autocross runs](https://www.youtube.com/playlist?list=PLwzr4uKY-x-EwCv-rWNGefdikuW6Oy9O_). +- **[RadarScope](https://play.google.com/store/apps/details?id=com.basevelocity.radarscope)** weather radar and information. +- **[SimpleX Chat](https://play.google.com/store/apps/details?id=chat.simplex.app)** ([F-Droid](https://f-droid.org/en/packages/chat.simplex.app/)) for end-to-end encrypted chats without any user identifiers. +- **[Squoosh](https://squoosh.app/)** for compressing and EXIF-stripping photos before sharing. +- **[Tasker](https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm)** for automated profiles on my phone. +- **[WiFiman](https://play.google.com/store/apps/details?id=com.ubnt.usurvey)** for scanning a testing wireless networks. +- **[Yubico Authenticator](https://play.google.com/store/apps/details?id=com.yubico.yubioath)** for storing TOTP secrets on a hardware token. + +### Services +*These may include affiliate links.* +- **[Cloaked](https://join.cloaked.app/?utm_source=referral&utm_campaign=Ee83SGN8OR)** for generating unique identies (email addresses + phone numbers) for every web sign-up. +- **[Fastmail](https://app.fastmail.com/signup/?STKI=/u29803368)** for fast, private email service with a ton of nice bonus features. +- **[Forward Email](https://forwardemail.net/)** for routing email to/from my various project domains. +- **[JMP.chat](https://jmp.chat/)** for a phone number backed by XMPP. +- **[NextDNS](https://nextdns.io/?from=2jujzdcc)** for privacy-protecting ad-blocking DNS filtering in the cloud. +- **[Obico](https://www.obico.io/)** for controlling and monitoring 3D prints. +- **[omg.lol](https://home.omg.lol/referred-by/jbowdre)** for some really handy web tools and one of the best communities of interesting people. +- **[Privacy.com](https://app.privacy.com/join/JMMQ7)** for creating virtual merchant-locked credit cards to keep me safe when shopping online. +- **[Tailscale](https://tailscale.com)** for connecting all my various systems and making them think that they're on the same LAN. From 3066da13d62b6459a12cbe2c664a6fc31473c6ca Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 22:40:10 -0500 Subject: [PATCH 50/75] minor slash tweaks --- content/changelog.md | 2 ++ content/colophon.md | 9 ++++++--- content/homelab.md | 23 ++++++++++++----------- content/save.md | 8 +++++--- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index 00906ca..b387bf4 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -6,6 +6,8 @@ description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true +categories: + - slashes --- High-level list of config/layout changes to the site: diff --git a/content/colophon.md b/content/colophon.md index 6bae834..9b247c5 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -6,8 +6,10 @@ description: "There's a lot that goes into this site. Let me tell you how it wor featured: false toc: true timeless: true +categories: + - slashes --- -I don't consider myself to be a web developer, but I've learned a *ton* through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`. +*I don't consider myself to be a web developer, but I've learned a *ton* through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`.* ### This site... - is built with [Hugo](https://gohugo.io/) using the [risotto](https://github.com/joeroe/risotto) theme with many, many tweaks and customizations. @@ -15,8 +17,9 @@ I don't consider myself to be a web developer, but I've learned a *ton* through - performs syntax highlighting with [Torchlight](https://torchlight.dev) ([details](/spotlight-on-torchlight/)). - provides site search with [lunr](https://lunrjs.com/) based on an implementation detailed by [Victoria Drake](https://victoria.dev/blog/add-search-to-hugo-static-sites-with-lunr/). - leverages [tinylytics](https://tinylytics.app/) for privacy-friendly analytics and cute kudos buttons. -- is published to / hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). -- has a [Gemini](https://geminiprotocol.net) mirror at `gemini://gmi.runtimeterror.dev`, which is deployed to a [Vultr](https://www.vultr.com/) VPS through a GitHub Actions workflow and served with [Agate](https://github.com/mbrubeck/agate). - uses [bunny.net](https://bunny.net) for DNS and CDN services. +- is published to / hosted by [Neocities](https://neocities.org) with a GitHub Actions workflow ([details](/deploy-hugo-neocities-github-actions/)). +- has a [Gemini](https://geminiprotocol.net) mirror at `gemini://gmi.runtimeterror.dev`. This is generated from a [Hugo gemtext post layout](https://github.com/jbowdre/runtimeterror/blob/main/layouts/_default/single.gmi), deployed to a [Vultr](https://www.vultr.com/) VPS through a GitHub Actions workflow, and served with [Agate](https://github.com/mbrubeck/agate). + Look behind the scenes at [github.com/jbowdre/runtimeterror](https://github.com/jbowdre/runtimeterror). diff --git a/content/homelab.md b/content/homelab.md index 3f2b12a..d973c40 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -8,14 +8,16 @@ description: "The systems I use for fun." featured: false toc: true timeless: true +categories: + - slashes --- -I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my playground. +*I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my technical playground.* -### Connectivity -*Everything* is connected to my [Tailscale](https://tailscale.com) tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). +Everything is connected to my [Tailscale](https://tailscale.com) tailnet, with a GitOps-managed ACL to allow access as needed. This lets me access and manage systems without really caring if they're local or remote. [Tailscale is magic](/secure-networking-made-simple-with-tailscale/). ### On Premise -#### Proxmox VE 8 Cluster + +**Proxmox VE 8 Cluster** - 1x [Intel NUC 9 Extreme (NUC9i9QNX)](https://www.amazon.com/Intel-Extreme-NUC9i9QNX-Single-Model/dp/B0851JV4R8) - 9th Gen Intel® Core™ i9-9980HK (8 cores @ 2.40GHz) - 64GB RAM @@ -43,7 +45,7 @@ The Proxmox cluster hosts a number of VMs and LXC containers: - `salt`: Ubuntu 20.04 [Salt](https://saltproject.io/) Master server for configuration management - `unifi`: UniFi Network Application. Manages the Unifi switch. -#### Hashicorp Nomad Cluster (WIP) +**Hashicorp Nomad Cluster (WIP)** - 3x [Zima Blade 7700](https://shop.zimaboard.com/products/zimablade-single-board-server-for-cyber-native) - Intel® Celeron® N3450 (4 cores @ 1.10GHz) - 16GB RAM @@ -53,9 +55,7 @@ The Proxmox cluster hosts a number of VMs and LXC containers: This triad of cute little single-board computers will *eventually* be a combination Nomad + Consul + Vault cluster, fully managed with Salt. -Also here's some more about it. - -#### [PiAware](https://www.flightaware.com/adsb/piaware/build) ADS-B/MLAT Receiver +**[PiAware](https://www.flightaware.com/adsb/piaware/build) ADS-B/MLAT Receiver** - Raspberry Pi 2 Model B - 2x [RTL-SDR Blog V3 R860 RTL2832U 1PPM TCXO SMA Dongle](https://www.amazon.com/gp/product/B0129EBDS2) - [SIGNALPLUS 1090MHz 12dBi 1.1m ADS-B Antenna](https://www.amazon.com/gp/product/B08XYRMG3V/) @@ -63,15 +63,16 @@ Also here's some more about it. I like to know what's flying overhead, and I'm also feeding flight data to [flightaware.com](https://flightaware.com) and [adsb.fi](https://adsb.fi). ### Cloud -#### [Oracle Cloud Infrastructure](https://www.oracle.com/cloud/free/) + +**[Oracle Cloud Infrastructure](https://www.oracle.com/cloud/free/)** - `git`: Ubuntu 22.04 [Forgejo](https://forgejo.org/) server for [git.bowdre.net](https://git.bowdre.net/explore/repos) - `smp2`: Ubuntu 22.04 [SimpleX](/simplex/) server -#### [Google Cloud Platform](https://cloud.google.com/free/docs/free-cloud-features) +**[Google Cloud Platform](https://cloud.google.com/free/docs/free-cloud-features)** - `smp`: Ubuntu 22.04 [SimpleX](/simplex/) server - `smp1`: Ubuntu 22.04 [SimpleX](/simplex/) server -#### [Vultr](https://www.vultr.com) +**[Vultr](https://www.vultr.com)** - `volly`: Ubuntu 22.04 Docker host for various workloads, served either through [Caddy](https://caddyserver.com/) or [Cloudflare Tunnel](/publish-services-cloudflare-tunnel/): - [Agate](https://github.com/mbrubeck/agate) Gemini server ([post](/gemini-capsule-gempost-github-actions/)) - [Crowdsec](https://www.crowdsec.net) security engine diff --git a/content/save.md b/content/save.md index d45ac36..100a516 100644 --- a/content/save.md +++ b/content/save.md @@ -2,13 +2,14 @@ title: "/save" date: "2024-05-28T00:25:51Z" lastmod: "2024-05-28" -description: "Referral links for services I use and heartily recommend." +description: "Referral links for products and services I use and heartily recommend." featured: false toc: true timeless: true +categories: + - slashes --- - -I pay for a lot of quality services that I recommend non-stop. This `/saves` page lists few referral links which might save you and/or me some money if you check them out. +*This `/saves` page lists my referral/affiliate links for high-quality products and services that I use on a daily basis. These are things I frequently recommend to others anyway, but signing up with these links might save one or both of us some money.* ### I use and recommend: - **[Bunny.net](https://bunny.net?ref=0eh23p45xs)** DNS and CDN service that really hops @@ -16,6 +17,7 @@ I pay for a lot of quality services that I recommend non-stop. This `/saves` pag - **[Fastmail](https://app.fastmail.com/signup/?STKI=/u29803368)** Fast, private email - **[NextDNS](https://nextdns.io/?from=2jujzdcc)** Cloud-based DNS filtering - **[omg.lol](https://home.omg.lol/referred-by/jbowdre)** The best web address you'll ever have +- **[Oura](https://ouraring.com/raf/e3b03b82b5)** A stylish ring to track your sleep and recovery - **[Privacy.com](https://app.privacy.com/join/JMMQ7)** Unique merchant-locked cards for every online purchase - **[Vultr](https://www.vultr.com/?ref=9488431)** Cost-effective cloud infrastructure From 439c929ceaaab311cd14a915194fcdf74b001800 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 22:40:24 -0500 Subject: [PATCH 51/75] create slashes category page --- content/categories/slashes/_index.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 content/categories/slashes/_index.md diff --git a/content/categories/slashes/_index.md b/content/categories/slashes/_index.md new file mode 100644 index 0000000..6cd7eb4 --- /dev/null +++ b/content/categories/slashes/_index.md @@ -0,0 +1,7 @@ +--- +title: Slashes +aliases: + - slashes +description: > + The indieweb seems to be all about these "slashpages". Here are mine. +--- \ No newline at end of file From 110fb888e9de20d8f2391883741ef7a292283345 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 28 May 2024 22:45:49 -0500 Subject: [PATCH 52/75] remove slashes category until i figure out how best to present it --- content/categories/slashes/_index.md | 7 ------- content/changelog.md | 2 -- content/colophon.md | 2 -- content/homelab.md | 2 -- content/save.md | 2 -- content/uses.md | 2 -- 6 files changed, 17 deletions(-) delete mode 100644 content/categories/slashes/_index.md diff --git a/content/categories/slashes/_index.md b/content/categories/slashes/_index.md deleted file mode 100644 index 6cd7eb4..0000000 --- a/content/categories/slashes/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Slashes -aliases: - - slashes -description: > - The indieweb seems to be all about these "slashpages". Here are mine. ---- \ No newline at end of file diff --git a/content/changelog.md b/content/changelog.md index b387bf4..00906ca 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -6,8 +6,6 @@ description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true -categories: - - slashes --- High-level list of config/layout changes to the site: diff --git a/content/colophon.md b/content/colophon.md index 9b247c5..cc21d2d 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -6,8 +6,6 @@ description: "There's a lot that goes into this site. Let me tell you how it wor featured: false toc: true timeless: true -categories: - - slashes --- *I don't consider myself to be a web developer, but I've learned a *ton* through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`.* diff --git a/content/homelab.md b/content/homelab.md index d973c40..8be61eb 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -8,8 +8,6 @@ description: "The systems I use for fun." featured: false toc: true timeless: true -categories: - - slashes --- *I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my technical playground.* diff --git a/content/save.md b/content/save.md index 100a516..941f93f 100644 --- a/content/save.md +++ b/content/save.md @@ -6,8 +6,6 @@ description: "Referral links for products and services I use and heartily recomm featured: false toc: true timeless: true -categories: - - slashes --- *This `/saves` page lists my referral/affiliate links for high-quality products and services that I use on a daily basis. These are things I frequently recommend to others anyway, but signing up with these links might save one or both of us some money.* diff --git a/content/uses.md b/content/uses.md index 3471218..7341f73 100644 --- a/content/uses.md +++ b/content/uses.md @@ -5,8 +5,6 @@ date: "2024-05-29" description: "The hardware, software, and services which keep me going." toc: true timeless: true -categories: - - slashes --- *Here's some of the stuff I use and how I use it.* From 7dd1259a143173a1413d27d65bf711e6b791b712 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 29 May 2024 15:06:16 -0500 Subject: [PATCH 53/75] display post descriptions (if set) on archive pages, otherwise summaries --- content/changelog.md | 7 +++++-- layouts/partials/archive.html | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index 00906ca..f81d545 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,13 +1,16 @@ --- title: "/changelog" date: "2024-05-26T21:19:08Z" -lastmod: "2024-05-28" +lastmod: "2024-05-29" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true --- -High-level list of config/layout changes to the site: +*High-level list of config/layout changes to the site:* + +**2024-05-29:** +- Display post descriptions (if set) on archive pages; otherwise fall back to summaries **2024-05-27:** - Replace "powered by" links with slashpages diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index b6d6ee0..9fb235f 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -54,7 +54,7 @@

- {{ .Summary }} + {{if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}

From d29f86f2824d4903b3bb8e85d01a0be5c4323780 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 29 May 2024 15:21:45 -0500 Subject: [PATCH 54/75] add /slashes archive page --- content/changelog.md | 2 ++ content/colophon.md | 3 ++- content/homelab.md | 3 ++- content/save.md | 1 + content/uses.md | 3 ++- layouts/partials/archive.html | 26 +++++++++++++++++++++++--- layouts/partials/aside.html | 20 ++++++++++++++++---- layouts/partials/footer.html | 2 +- 8 files changed, 49 insertions(+), 11 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index f81d545..1d9d44a 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -6,11 +6,13 @@ description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true +categories: /slashes --- *High-level list of config/layout changes to the site:* **2024-05-29:** - Display post descriptions (if set) on archive pages; otherwise fall back to summaries +- Add /slashes archive page **2024-05-27:** - Replace "powered by" links with slashpages diff --git a/content/colophon.md b/content/colophon.md index cc21d2d..9179cfb 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -6,8 +6,9 @@ description: "There's a lot that goes into this site. Let me tell you how it wor featured: false toc: true timeless: true +categories: /slashes --- -*I don't consider myself to be a web developer, but I've learned a *ton* through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`.* +*I don't consider myself to be a web developer, but I've learned a **ton** through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`.* ### This site... - is built with [Hugo](https://gohugo.io/) using the [risotto](https://github.com/joeroe/risotto) theme with many, many tweaks and customizations. diff --git a/content/homelab.md b/content/homelab.md index 8be61eb..3400f2f 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -4,10 +4,11 @@ date: "2024-05-26T21:30:51Z" lastmod: "2024-05-28" aliases: - playground -description: "The systems I use for fun." +description: "The systems I use for fun and enrichment." featured: false toc: true timeless: true +categories: /slashes --- *I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my technical playground.* diff --git a/content/save.md b/content/save.md index 941f93f..2a33a6f 100644 --- a/content/save.md +++ b/content/save.md @@ -6,6 +6,7 @@ description: "Referral links for products and services I use and heartily recomm featured: false toc: true timeless: true +categories: /slashes --- *This `/saves` page lists my referral/affiliate links for high-quality products and services that I use on a daily basis. These are things I frequently recommend to others anyway, but signing up with these links might save one or both of us some money.* diff --git a/content/uses.md b/content/uses.md index 7341f73..f9ddc8a 100644 --- a/content/uses.md +++ b/content/uses.md @@ -2,9 +2,10 @@ title: "/uses" date: "2024-05-29" # lastmod: {{ .Date | time.Format "2006-01-02" }} -description: "The hardware, software, and services which keep me going." +description: "The hardware, software, services, and gear which I use (almost) daily." toc: true timeless: true +categories: /slashes --- *Here's some of the stuff I use and how I use it.* diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 9fb235f..7b8b8d3 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -7,7 +7,7 @@

{{ site.Params.indexTitle | markdownify }}

{{ else }}

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

- {{ with .Description }}{{ . }}
{{ else }}
{{ end }} + {{ if eq .Title "/Slashes" }}My collection of slashpages.
{{ else }}{{ with .Description }}{{ . }}
{{ else }}
{{ end }}{{ end }} {{ end }}{{ end }} {{ .Content }} @@ -43,7 +43,26 @@ {{ end }} {{- end }} {{- else }} - {{- range (.Paginate $pages).Pages }} + {{- if eq .Title "/Slashes" }} + {{- $sortedSlashes := sort $pages "Title" }} + {{- range $sortedSlashes }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
+
+

{{ .Title | markdownify }}

+ +
+
+ {{ .Description }} +
+
+
+ {{- end }} + {{- else }} + {{- range (.Paginate $pages).Pages }} {{- $postDate := .Date.Format "2006-01-02" }} {{- $updateDate := .Lastmod.Format "2006-01-02" }}
@@ -58,6 +77,7 @@
+ {{- end }} + {{- template "_internal/pagination.html" . }} {{- end }} - {{- template "_internal/pagination.html" . }} {{- end }} \ No newline at end of file diff --git a/layouts/partials/aside.html b/layouts/partials/aside.html index 934ef3b..41a2c41 100644 --- a/layouts/partials/aside.html +++ b/layouts/partials/aside.html @@ -10,6 +10,17 @@ {{ if isset .Params "categories" }} {{$related := where .Site.RegularPages ".Params.categories" "eq" .Params.categories }} {{- $relatedLimit := default 8 .Site.Params.numberOfRelatedPosts }} +{{ if eq .Params.categories "/slashes" }} +

More {{ .Params.categories }}

+{{ $sortedPosts := sort $related "Title" }} + +{{ else }}

More {{ .Params.categories }}

+{{ end }}
{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index cde209f..6256028 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ - From e603cbe7075ca293c9030f399dc60b2ab450bbf0 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 29 May 2024 15:56:46 -0500 Subject: [PATCH 55/75] don't capitalize /slashes --- config/_default/hugo.toml | 1 + layouts/partials/archive.html | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index 603ce6f..50829a1 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -7,6 +7,7 @@ languageCode = "en" DefaultContentLanguage = "en" enableInlineShortcodes = true enableRobotsTXT = true +capitalizeListTitles = false # define gemini media type [mediaTypes] diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 7b8b8d3..a4f283a 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -7,7 +7,7 @@

{{ site.Params.indexTitle | markdownify }}

{{ else }}

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

- {{ if eq .Title "/Slashes" }}My collection of slashpages.
{{ else }}{{ with .Description }}{{ . }}
{{ else }}
{{ end }}{{ end }} + {{ if eq .Title "/slashes" }}My collection of slashpages.
{{ else }}{{ with .Description }}{{ . }}
{{ else }}
{{ end }}{{ end }} {{ end }}{{ end }} {{ .Content }} @@ -43,7 +43,7 @@ {{ end }} {{- end }} {{- else }} - {{- if eq .Title "/Slashes" }} + {{- if eq .Title "/slashes" }} {{- $sortedSlashes := sort $pages "Title" }} {{- range $sortedSlashes }} {{- $postDate := .Date.Format "2006-01-02" }} From 3281be2187f38aaedfc665d1cbfa566becd3d300 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 29 May 2024 15:59:46 -0500 Subject: [PATCH 56/75] minor changelog page tweak --- content/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/changelog.md b/content/changelog.md index 1d9d44a..47a0dbb 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -8,7 +8,7 @@ toc: false timeless: true categories: /slashes --- -*High-level list of config/layout changes to the site:* +*High-level list of config/layout changes to the site.* **2024-05-29:** - Display post descriptions (if set) on archive pages; otherwise fall back to summaries From a778c7c255fb12dc609313e48c9e36c342118423 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Wed, 29 May 2024 16:58:41 -0500 Subject: [PATCH 57/75] add /slashes to top menu, add /about --- config/_default/menu.toml | 6 ++++++ config/_default/params.toml | 5 +++++ content/about.md | 18 +++++++++++------- content/changelog.md | 1 + layouts/partials/footer.html | 2 +- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/config/_default/menu.toml b/config/_default/menu.toml index 94c9f39..2db8f2a 100644 --- a/config/_default/menu.toml +++ b/config/_default/menu.toml @@ -28,6 +28,12 @@ url = "/categories/backstage/" weight = 1 +[[main]] + identifier = "slashes" + name = "slashes" + url = "/categories/slashes/" + weight = 10 + [[main]] identifier = "notes" name = "notes" diff --git a/config/_default/params.toml b/config/_default/params.toml index f1375d7..94b3418 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -184,6 +184,11 @@ icon = "fa-solid fa-envelope" title = "Email" url = "mailto:jbowdre@omg.lol" +[[slashPages]] +title = "/about" +url = "/about" +label = "about this site" + [[slashPages]] title = "/changelog" url = "/changelog" diff --git a/content/about.md b/content/about.md index 67ca941..9fc360c 100644 --- a/content/about.md +++ b/content/about.md @@ -1,10 +1,14 @@ -+++ -title = "Hi, I'm John." -description = "A brief introduction to me, this blog, and what you're likely to see here." -timeless = true -reply = false -aliases = ["tldr", "bio"] -+++ +--- +title: "/about" +date: "2024-05-26T21:19:08Z" +lastmod: "2024-05-29" +description: "A brief introduction to me, this blog, and what you're likely to see here." +timeless: true +toc: false +categories: "/slashes" +--- +**Hi, I'm John.** + ![Me, +/- a few decades](/images/john.jpg) You've (somehow) managed to stumble upon my dark corner of the internet[^1]. diff --git a/content/changelog.md b/content/changelog.md index 47a0dbb..f119f68 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -13,6 +13,7 @@ categories: /slashes **2024-05-29:** - Display post descriptions (if set) on archive pages; otherwise fall back to summaries - Add /slashes archive page +- Add /slashes to top menu, add /about **2024-05-27:** - Replace "powered by" links with slashpages diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 6256028..bb088db 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ - From 2f42341117f154af3c1edc268b34ded779ae1316 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 08:36:25 -0500 Subject: [PATCH 58/75] fix broken taxo feed styling --- content/posts/prettify-hugo-rss-feed-xslt/index.md | 3 ++- layouts/_default/rss.xml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/content/posts/prettify-hugo-rss-feed-xslt/index.md b/content/posts/prettify-hugo-rss-feed-xslt/index.md index b9e36f6..3667692 100644 --- a/content/posts/prettify-hugo-rss-feed-xslt/index.md +++ b/content/posts/prettify-hugo-rss-feed-xslt/index.md @@ -1,6 +1,7 @@ --- title: "Prettify Hugo RSS Feeds with XSLT" date: 2024-04-30 +lastmod: "2024-05-30" description: "Making my Hugo-generated RSS XML look as good to human visitors as it does to feed readers." featured: false thumbnail: pretty-feed.png @@ -95,7 +96,7 @@ All I really need to do to get this XML ready to be styled is just link in a sty {{- $pages = $pages | first $limit -}} {{- end -}} {{- printf "" | safeHTML }} -{{ printf "" | safeHTML }} +{{ printf "" | safeHTML }} " | safeHTML }} -{{ printf "" | safeHTML }} +{{ printf "" | safeHTML }} Date: Thu, 30 May 2024 09:16:24 -0500 Subject: [PATCH 59/75] open 'notes' header link in a new tab since it goes to an external site --- config/_default/menu.toml | 14 +++++++++++++- layouts/partials/header.html | 10 ++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 layouts/partials/header.html diff --git a/config/_default/menu.toml b/config/_default/menu.toml index 2db8f2a..b95637b 100644 --- a/config/_default/menu.toml +++ b/config/_default/menu.toml @@ -9,33 +9,45 @@ name = "self-hosting" url = "/categories/self-hosting/" weight = 1 + [[main.params]] + target = "_self" [[main]] identifier = "tips" name = "tips" url = "/categories/tips/" weight = 1 + [[main.params]] + target = "_self" [[main]] identifier = "code" name = "code" url = "/categories/code/" weight = 1 + [[main.params]] + target = "_self" [[main]] identifier = "backstage" name = "backstage" url = "/categories/backstage/" weight = 1 + [[main.params]] + target = "_self" [[main]] identifier = "slashes" name = "slashes" - url = "/categories/slashes/" + url = "/slashes/" weight = 10 + [[main.params]] + target = "_self" [[main]] identifier = "notes" name = "notes" url = "https://notes.runtimeterror.dev" weight = 100 + [[main.params]] + target = "_blank" diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..7bf4fcf --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,10 @@ + + From b1cc74ed3aae16369cd9830e827955aa0ce78218 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 09:18:09 -0500 Subject: [PATCH 60/75] general improvements for handling 'slashes' category --- content/about.md | 2 +- content/categories/slashes/_index.md | 8 ++++++++ content/changelog.md | 2 +- content/colophon.md | 2 +- content/homelab.md | 2 +- content/save.md | 2 +- content/uses.md | 2 +- layouts/partials/archive.html | 11 ++++++++--- layouts/partials/aside.html | 4 ++-- layouts/partials/footer.html | 2 +- 10 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 content/categories/slashes/_index.md diff --git a/content/about.md b/content/about.md index 9fc360c..c5dda2a 100644 --- a/content/about.md +++ b/content/about.md @@ -5,7 +5,7 @@ lastmod: "2024-05-29" description: "A brief introduction to me, this blog, and what you're likely to see here." timeless: true toc: false -categories: "/slashes" +categories: slashes --- **Hi, I'm John.** diff --git a/content/categories/slashes/_index.md b/content/categories/slashes/_index.md new file mode 100644 index 0000000..ab09aa0 --- /dev/null +++ b/content/categories/slashes/_index.md @@ -0,0 +1,8 @@ +--- +title: slashes +url: /slashes +aliases: + - categories/slashes +description: > + My collection of slashpages. +--- \ No newline at end of file diff --git a/content/changelog.md b/content/changelog.md index f119f68..be569b9 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -6,7 +6,7 @@ description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false timeless: true -categories: /slashes +categories: slashes --- *High-level list of config/layout changes to the site.* diff --git a/content/colophon.md b/content/colophon.md index 9179cfb..15c6c4b 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -6,7 +6,7 @@ description: "There's a lot that goes into this site. Let me tell you how it wor featured: false toc: true timeless: true -categories: /slashes +categories: slashes --- *I don't consider myself to be a web developer, but I've learned a **ton** through the process of building/tweaking/maintaining this site. The [colophon](https://indieweb.org/colophon) provides a quick overview of what powers `runtimeterror.dev`.* diff --git a/content/homelab.md b/content/homelab.md index 3400f2f..f98c015 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -8,7 +8,7 @@ description: "The systems I use for fun and enrichment." featured: false toc: true timeless: true -categories: /slashes +categories: slashes --- *I enjoy tinkering with small technology projects, and I learn a ton from these experiments. I also self-host a number of apps/services from my home as well as various cloud environments. This page describes some of my technical playground.* diff --git a/content/save.md b/content/save.md index 2a33a6f..819e9ae 100644 --- a/content/save.md +++ b/content/save.md @@ -6,7 +6,7 @@ description: "Referral links for products and services I use and heartily recomm featured: false toc: true timeless: true -categories: /slashes +categories: slashes --- *This `/saves` page lists my referral/affiliate links for high-quality products and services that I use on a daily basis. These are things I frequently recommend to others anyway, but signing up with these links might save one or both of us some money.* diff --git a/content/uses.md b/content/uses.md index f9ddc8a..5286f9d 100644 --- a/content/uses.md +++ b/content/uses.md @@ -5,7 +5,7 @@ date: "2024-05-29" description: "The hardware, software, services, and gear which I use (almost) daily." toc: true timeless: true -categories: /slashes +categories: slashes --- *Here's some of the stuff I use and how I use it.* diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index a4f283a..a62dc97 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -6,8 +6,13 @@ {{ if .IsHome }}

{{ site.Params.indexTitle | markdownify }}

{{ else }} -

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

- {{ if eq .Title "/slashes" }}My collection of slashpages.
{{ else }}{{ with .Description }}{{ . }}
{{ else }}
{{ end }}{{ end }} + {{ if eq .Title "slashes" }} +

/slashes  

+ My collection of slashpages.
+ {{ else }} +

{{ .Title | markdownify }}{{ if eq .Kind "term" }}  

+ {{ with .Description }}{{ . }}
{{ else }}
{{ end }} + {{ end }} {{ end }}{{ end }} {{ .Content }} @@ -43,7 +48,7 @@ {{ end }} {{- end }} {{- else }} - {{- if eq .Title "/slashes" }} + {{- if eq .Title "slashes" }} {{- $sortedSlashes := sort $pages "Title" }} {{- range $sortedSlashes }} {{- $postDate := .Date.Format "2006-01-02" }} diff --git a/layouts/partials/aside.html b/layouts/partials/aside.html index 41a2c41..912b21d 100644 --- a/layouts/partials/aside.html +++ b/layouts/partials/aside.html @@ -10,7 +10,7 @@ {{ if isset .Params "categories" }} {{$related := where .Site.RegularPages ".Params.categories" "eq" .Params.categories }} {{- $relatedLimit := default 8 .Site.Params.numberOfRelatedPosts }} -{{ if eq .Params.categories "/slashes" }} +{{ if eq .Params.categories "slashes" }}

More {{ .Params.categories }}

{{ $sortedPosts := sort $related "Title" }}
    @@ -21,7 +21,7 @@ {{ end }}
{{ else }} -

More {{ .Params.categories }}

+

More /slashes

    {{- range first $relatedLimit $related }}
  • diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index bb088db..9586c47 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,5 +1,5 @@ - From 5226ab1f7cfa3ed5d9c77ef173ed6e6585145c05 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 09:20:54 -0500 Subject: [PATCH 61/75] update changelog --- content/changelog.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/changelog.md b/content/changelog.md index be569b9..bf481de 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,7 +1,7 @@ --- title: "/changelog" date: "2024-05-26T21:19:08Z" -lastmod: "2024-05-29" +lastmod: "2024-05-30" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false @@ -10,6 +10,11 @@ categories: slashes --- *High-level list of config/layout changes to the site.* +**2024-05-30:** +- Fix broken styling for taxonomy (categories/tags) feeds +- Open "notes" header link in new tab since it's an external link +- Misc improvements for handling /slashes + **2024-05-29:** - Display post descriptions (if set) on archive pages; otherwise fall back to summaries - Add /slashes archive page From f74059339ca99abd1b468e8facf48169fd73e9c0 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 13:54:01 -0500 Subject: [PATCH 62/75] increase width of input field on stylized feed.xml --- static/xml/feed.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/xml/feed.xsl b/static/xml/feed.xsl index b45438f..d51a25c 100644 --- a/static/xml/feed.xsl +++ b/static/xml/feed.xsl @@ -8,7 +8,7 @@ <xsl:value-of select="rss/channel/title"/> (RSS) - + From 526985d29305319b6511130167f4bdff565fceb0 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 14:04:29 -0500 Subject: [PATCH 63/75] don't link a feed for /slashes --- layouts/partials/archive.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index a62dc97..27017fa 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -7,7 +7,7 @@

    {{ site.Params.indexTitle | markdownify }}

    {{ else }} {{ if eq .Title "slashes" }} -

    /slashes  

    +

    /slashes

    My collection of slashpages.
    {{ else }}

    {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

    From 9c18281781dec06b42026668cf9eb56af42de3a3 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Thu, 30 May 2024 16:29:22 -0500 Subject: [PATCH 64/75] fix related header on sidebar --- layouts/partials/aside.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layouts/partials/aside.html b/layouts/partials/aside.html index 912b21d..a37a656 100644 --- a/layouts/partials/aside.html +++ b/layouts/partials/aside.html @@ -11,7 +11,7 @@ {{$related := where .Site.RegularPages ".Params.categories" "eq" .Params.categories }} {{- $relatedLimit := default 8 .Site.Params.numberOfRelatedPosts }} {{ if eq .Params.categories "slashes" }} -

    More {{ .Params.categories }}

    +

    More /slashes

    {{ $sortedPosts := sort $related "Title" }}
      {{- range $sortedPosts }} @@ -21,7 +21,7 @@ {{ end }}
    {{ else }} -

    More /slashes

    +

    More {{ .Params.categories }}

      {{- range first $relatedLimit $related }}
    • From e571f182af829df228eec534cf15d35b03481529 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Fri, 31 May 2024 14:38:05 -0500 Subject: [PATCH 65/75] tweak /slashes index page --- content/categories/slashes/_index.md | 4 ++-- layouts/partials/archive.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/categories/slashes/_index.md b/content/categories/slashes/_index.md index ab09aa0..c1c5ceb 100644 --- a/content/categories/slashes/_index.md +++ b/content/categories/slashes/_index.md @@ -1,8 +1,8 @@ --- -title: slashes +title: /slashes url: /slashes aliases: - categories/slashes description: > - My collection of slashpages. + My collection of slash pages. --- \ No newline at end of file diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 27017fa..4907815 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -6,9 +6,9 @@ {{ if .IsHome }}

      {{ site.Params.indexTitle | markdownify }}

      {{ else }} - {{ if eq .Title "slashes" }} -

      /slashes

      - My collection of slashpages.
      + {{ if eq .Title "/slashes" }} +

      {{ .Title | markdownify }}

      + My collection of slash pages.
      {{ else }}

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      {{ with .Description }}{{ . }}
      {{ else }}
      {{ end }} @@ -48,7 +48,7 @@ {{ end }} {{- end }} {{- else }} - {{- if eq .Title "slashes" }} + {{- if eq .Title "/slashes" }} {{- $sortedSlashes := sort $pages "Title" }} {{- range $sortedSlashes }} {{- $postDate := .Date.Format "2006-01-02" }} From 031f86d0a98798db050d05d04f0e170f41ef841d Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 20:44:09 -0500 Subject: [PATCH 66/75] add tags index page --- content/tags/_index.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 content/tags/_index.md diff --git a/content/tags/_index.md b/content/tags/_index.md new file mode 100644 index 0000000..56d2e29 --- /dev/null +++ b/content/tags/_index.md @@ -0,0 +1,3 @@ +--- +title: Tags +--- From d19ac0c35dab1983d854f6c04812ae78506d841d Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 21:09:28 -0500 Subject: [PATCH 67/75] archive: just display last updated date on categories and slashes --- layouts/partials/archive.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 4907815..c863448 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -37,7 +37,7 @@

      {{ .Title | markdownify }}

      @@ -57,7 +57,7 @@

      {{ .Title | markdownify }}

      From 1c636f161d62e4fc7d8a998a5b97c2d73a598a00 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 21:10:16 -0500 Subject: [PATCH 68/75] archive: adjust handling of taxo rss label --- layouts/partials/archive.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index c863448..814aa0d 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -10,7 +10,7 @@

      {{ .Title | markdownify }}

      My collection of slash pages.
      {{ else }} -

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      +

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      {{ with .Description }}{{ . }}
      {{ else }}
      {{ end }} {{ end }} {{ end }}{{ end }} From f1eb781a580db13f77a1560b402e073a746da215 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 21:10:42 -0500 Subject: [PATCH 69/75] archive: add comments to more easily identify logic branches --- layouts/partials/archive.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 814aa0d..6e669a2 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -19,6 +19,7 @@ {{- if eq .Kind "taxonomy" }} {{- if eq .Title "Tags" }} + {{/* list of all tags */}}
      {{- range $key, $value := .Site.Taxonomies }} {{- $slicedTags := ($value.ByCount) }} @@ -30,6 +31,7 @@ {{- end }}
      {{- else }} + {{/* list of all categories */}} {{- range .Pages.ByDate.Reverse }} {{- $postDate := .Date.Format "2006-01-02" }} {{- $updateDate := .Lastmod.Format "2006-01-02" }} @@ -49,6 +51,7 @@ {{- end }} {{- else }} {{- if eq .Title "/slashes" }} + {{/* slash page archive */}} {{- $sortedSlashes := sort $pages "Title" }} {{- range $sortedSlashes }} {{- $postDate := .Date.Format "2006-01-02" }} @@ -67,6 +70,7 @@ {{- end }} {{- else }} + {{/* regular posts archive */}} {{- range (.Paginate $pages).Pages }} {{- $postDate := .Date.Format "2006-01-02" }} {{- $updateDate := .Lastmod.Format "2006-01-02" }} From 6a1e85fe78f04c88c9b29ee193ed5b08675ecb7d Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 21:11:32 -0500 Subject: [PATCH 70/75] config: remove capitalizeListTitles option --- config/_default/hugo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index 50829a1..603ce6f 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -7,7 +7,6 @@ languageCode = "en" DefaultContentLanguage = "en" enableInlineShortcodes = true enableRobotsTXT = true -capitalizeListTitles = false # define gemini media type [mediaTypes] From 88427c2888656f487fc8785a1e2bd57544d79a6b Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 21:17:30 -0500 Subject: [PATCH 71/75] archive: fix typo in date format --- layouts/partials/archive.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index 6e669a2..b408930 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -39,7 +39,7 @@

      {{ .Title | markdownify }}

      From b1625931bee7cab91552b7bff9f0dd6b4dafae45 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sat, 1 Jun 2024 22:00:46 -0500 Subject: [PATCH 72/75] archive: improve templating logic --- layouts/partials/archive.html | 100 +++++++++++++--------------------- 1 file changed, 39 insertions(+), 61 deletions(-) diff --git a/layouts/partials/archive.html b/layouts/partials/archive.html index b408930..52ef31b 100644 --- a/layouts/partials/archive.html +++ b/layouts/partials/archive.html @@ -11,82 +11,60 @@ My collection of slash pages.
      {{ else }}

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      - {{ with .Description }}{{ . }}
      {{ else }}
      {{ end }} + {{ with .Description }}{{ . }}{{ end }} {{ end }} +
      {{ end }}{{ end }} {{ .Content }} - -{{- if eq .Kind "taxonomy" }} - {{- if eq .Title "Tags" }} - {{/* list of all tags */}} -
      - {{- range $key, $value := .Site.Taxonomies }} - {{- $slicedTags := ($value.ByCount) }} - {{- range $slicedTags }} - {{- if eq $key "tags"}} -
      {{ .Name }}{{ .Count }}
      - {{- end }} +{{- if and (eq .Kind "taxonomy") (eq .Title "Tags") }} + {{/* /tags/ */}} +
      + {{- range $key, $value := .Site.Taxonomies }} + {{- $slicedTags := ($value.ByCount) }} + {{- range $slicedTags }} + {{- if eq $key "tags"}} +
      {{ .Name }}{{ .Count }}
      {{- end }} {{- end }} -
      - {{- else }} - {{/* list of all categories */}} - {{- range .Pages.ByDate.Reverse }} - {{- $postDate := .Date.Format "2006-01-02" }} - {{- $updateDate := .Lastmod.Format "2006-01-02" }} -
      -
      -

      {{ .Title | markdownify }}

      - -
      -
      - {{ .Description }} -
      -
      -
      - {{ end }} {{- end }} -{{- else }} - {{- if eq .Title "/slashes" }} - {{/* slash page archive */}} - {{- $sortedSlashes := sort $pages "Title" }} - {{- range $sortedSlashes }} - {{- $postDate := .Date.Format "2006-01-02" }} - {{- $updateDate := .Lastmod.Format "2006-01-02" }} -
      -
      -

      {{ .Title | markdownify }}

      - -
      -
      - {{ .Description }} -
      -
      -
      - {{- end }} - {{- else }} - {{/* regular posts archive */}} - {{- range (.Paginate $pages).Pages }} +
      +{{- else if or (eq .Kind "taxonomy") (eq .Title "/slashes") }} + {{/* /categories/ or /slashes/ */}} + {{- $sorted := sort $pages "Title" }} + {{- range $sorted }} {{- $postDate := .Date.Format "2006-01-02" }} {{- $updateDate := .Lastmod.Format "2006-01-02" }}
      -

      {{ .Title | markdownify }}

      - +

      {{ .Title | markdownify }}

      +
      - {{if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }} + {{ .Description }} +
      +
      +
      + {{ end }} +{{- else }} + {{/* regular posts archive */}} + {{- range (.Paginate $pages).Pages }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
      +
      +

      {{ .Title | markdownify }}

      + +
      +
      + {{if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}

      - {{- end }} - {{- template "_internal/pagination.html" . }} {{- end }} + {{- template "_internal/pagination.html" . }} {{- end }} \ No newline at end of file From 48e9c19ee41ec9764573b2d835944f4704de3ce1 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 2 Jun 2024 21:20:22 -0500 Subject: [PATCH 73/75] new post: the-slash-page-scoop --- content/posts/the-slash-page-scoop/index.md | 321 ++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 content/posts/the-slash-page-scoop/index.md diff --git a/content/posts/the-slash-page-scoop/index.md b/content/posts/the-slash-page-scoop/index.md new file mode 100644 index 0000000..4f124bc --- /dev/null +++ b/content/posts/the-slash-page-scoop/index.md @@ -0,0 +1,321 @@ +--- +title: "The Slash Page Scoop" +date: 2024-06-02 +# lastmod: 2024-05-30 +description: "I've added new slash pages to the site to share some background info on who I am, what I use, and how this site works." +featured: false +toc: true +reply: true +categories: Backstage +tags: + - hugo + - meta +--- +Inspired by [Robb Knight](https://rknight.me/)'s recent [slash pages](https://slashpages.net/) site, I spent some time over the past week or two drafting some slash pages of my own. + +> Slash pages are common pages you can add to your website, usually with a standard, root-level slug like `/now`, `/about`, or `/uses`. They tend to describe the individual behind the site and are distinguishing characteristics of the IndieWeb. + +On a blog that is otherwise organized in a fairly chronological manner, slash pages provide a way share information out-of-band. I think they're great for more static content (like an about page that says who I am) as well as for content that may be regularly updated (like a changelog). + +The pages that I've implemented (so far) include: +- [/about](/about) tells a bit about me and my background +- [/changelog](/changelog) is just *starting* to record some of visual/functional changes I make here +- [/colophon](/colophon) describes the technology and services used in producing/hosting this site +- [/homelab](/homelab) isn't a canonical slash page but it provides a lot of details about my homelab setup +- [/save](/save) shamelessly hosts referral links for things I love and think you'll love too +- [/uses](/uses) shares the stuff I use on a regular basis + +And, of course, these are collected in one place at [/slashes](/slashes). + +Feel free to stop here if you just want to check out the slash pages, or keep on reading for some nerd stuff about how I implemented them on my Hugo site. + +--- + +### Implementation +All of my typical blog posts get created within the site's Hugo directory under `content/posts/`, like this one at `content/posts/the-slash-page-scoop/index.md`. They get indexed, automatically added to the list of posts on the home page, and show up in the RSS feed. I don't want my slash pages to get that treatment so I made them directly inside the `content` directory: + +``` +content +├── categories +├── posts +├── search +├── 404.md +├── _index.md +├── about.md [tl! ~~] +├── changelog.md [tl! ~~] +├── colophon.md [tl! ~~] +├── homelab.md [tl! ~~] +├── save.md [tl! ~~] +├── simplex.md +└── uses.md [tl! ~~] +``` + +Easy enough, but I didn't then want to have to worry about manually updating a list of slash pages so I used [Hugo's Taxonomies](https://gohugo.io/content-management/taxonomies/) feature for that. I simply tagged each page with a new `slashes` category by adding it to the post's front matter: + +```yaml +# torchlight! {"lineNumbers":true} +--- +title: "/changelog" +date: "2024-05-26" +lastmod: "2024-05-30" +description: "Maybe I should keep a log of all my site-related tinkering?" +categories: slashes # [tl! ~~] +--- +``` + +{{% notice note "Category Names" %}} +I really wanted to name the category `/slashes`, but that seems to trip up Hugo a bit when it comes to creating an archive of category posts. So I settled for `slashes` and came up with some workarounds to make it present the way I wanted. +{{% /notice %}} + +Hugo will automatically generate an archive page for a given taxonomy term (so a post tagged with the category `slashes` would be listed at `$BASE_URL/category/slashes/`), but I like to have a bit of control over how those archive pages are actually presented. So I create a new file at `content/categories/slashes/_index.md` and drop in this front matter: + +```yaml +# torchlight! {"lineNumbers":true} +--- +title: /slashes +url: /slashes +aliases: + - /categories/slashes +description: > + My collection of slash pages. +--- +``` + +The `slashes` in the file path tells Hugo which taxonomy it belongs to and so it can match the appropriately-categorized posts. + +Just like with normal posts, the `title` field defines the title (duh) of the post; this way I can label the archive page as `/slashes` instead of just `slashes`. + +The `url` field lets me override where the page will be served, and I added `/categories/slashes` as an alias so that anyone who hits that canonical URL will be automatically redirected. + +Setting a `description` lets me choose what introductory text will be displayed at the top of the index page, as well as when it's shown at the next higher level archive (like `/categories/`). + +Of course, I'd like to include a link to [slashpages.net](https://slashpages.net) to provide a bit more info about what these pages are, and I can't add hyperlinks to the description text. What I *can* do is edit the template which is used for rendering the archive page. In my case, that's at `layouts/partials/archive.html`, and it starts out like this: + +```jinja-html +# torchlight! {"lineNumbers":true} +{{ $pages := .Pages }} +{{ if .IsHome }} + {{ $pages = where site.RegularPages "Type" "in" site.Params.mainSections }} +{{ end }} +
      +{{ if .IsHome }} +

      {{ site.Params.indexTitle | markdownify }}

      +{{ else }} +

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      + {{ with .Description }}{{ . }}
      {{ else }}
      {{ end }} +{{ end }}{{ end }} + {{ .Content }} +
      +``` + +Line 9 is where I had already modified the template to conditionally add an RSS link for category archive pages. I'm going to tweak the setup a bit to conditionally render designated text when the page `.Title` matches `/slashes`: + +```jinja-html +# torchlight! {"lineNumbers":true} +{{ $pages := .Pages }} +{{ if .IsHome }} + {{ $pages = where site.RegularPages "Type" "in" site.Params.mainSections }} +{{ end }} +
      +{{ if .IsHome }} +

      {{ site.Params.indexTitle | markdownify }}

      +{{ else }} + {{ if eq .Title "/slashes" }} +

      {{ .Title | markdownify }}

      + My collection of slash pages.
      + {{ else }} +

      {{ .Title | markdownify }}{{ if eq .Kind "term" }}  

      + {{ with .Description }}{{ . }}
      {{ else }}
      {{ end }} + {{ end }} +{{ end }}{{ end }} + {{ .Content }} +
      +``` + +So instead of rendering the `description` I defined in the front matter the archive page will show: + +> *My collection of [slash pages](https://slashpages.net).* + +While I'm at it, I'd like for the slash pages themselves to be listed in alphabetical order rather than sorted by date (like everything else on the site). The remainder of my `layouts/partials/archive.html` already handles a few different ways of displaying lists of content: + +```jinja-html +# torchlight! {"lineNumbers":true} +{{- if and (eq .Kind "taxonomy") (eq .Title "Tags") }} + {{/* /tags/ */}} +
      + {{- range $key, $value := .Site.Taxonomies }} + {{- $slicedTags := ($value.ByCount) }} + {{- range $slicedTags }} + {{- if eq $key "tags"}} +
      {{ .Name }}{{ .Count }}
      + {{- end }} + {{- end }} + {{- end }} +
      +{{- else if eq .Kind "taxonomy" }} + {{/* /categories/ */}} + {{- $sorted := sort $pages "Title" }} + {{- range $sorted }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
      +
      +

      {{ .Title | markdownify }}

      + +
      +
      + {{ .Description }} +
      +
      +
      + {{ end }} +{{- else }} + {{/* regular posts archive */}} + {{- range (.Paginate $pages).Pages }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
      +
      +

      {{ .Title | markdownify }}

      + +
      +
      + {{if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }} +
      +
      +
      + {{- end }} + {{- template "_internal/pagination.html" . }} +{{- end }} +``` + +1. The [/tags/](/tags/) archive uses a condensed display format which simply shows the tag name and the number of posts with that tag. +2. Other taxonomy archives (like [/categories](/categories)) are sorted by title, displayed with a brief description, and the date that a post in the categories was published or updated. +3. Archives of posts are sorted by date (most recent first) and include the post description (or summary if it doesn't have one), and both the publish and updated dates. + +I'll just tweak the second condition there to check for either a taxonomy archive or a page with the title `/slashes`: + +```jinja-html +# torchlight! {"lineNumbers":true} +{{- if and (eq .Kind "taxonomy") (eq .Title "Tags") }} + {{/* /tags/ */}} +
      + {{- range $key, $value := .Site.Taxonomies }} + {{- $slicedTags := ($value.ByCount) }} + {{- range $slicedTags }} + {{- if eq $key "tags"}} +
      {{ .Name }}{{ .Count }}
      + {{- end }} + {{- end }} + {{- end }} +
      +{{- else if eq .Kind "taxonomy" }} +{{- else if or (eq .Kind "taxonomy") (eq .Title "/slashes") }} + {{/* /categories/ */}} + {{/* /categories/ or /slashes/ */}} + {{- $sorted := sort $pages "Title" }} + {{- range $sorted }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
      +
      +

      {{ .Title | markdownify }}

      + +
      +
      + {{ .Description }} +
      +
      +
      + {{ end }} +{{- else }} + {{/* regular posts archive */}} + {{- range (.Paginate $pages).Pages }} + {{- $postDate := .Date.Format "2006-01-02" }} + {{- $updateDate := .Lastmod.Format "2006-01-02" }} +
      +
      +

      {{ .Title | markdownify }}

      + +
      +
      + {{if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }} +
      +
      +
      + {{- end }} + {{- template "_internal/pagination.html" . }} +{{- end }} +``` + +So that's got the [/slashes](/slashes/) page looking the way I want it to. The last tweak will be to the template I use for displaying related (ie, in the same category) posts in the sidebar. The magic for that happens in `layouts/partials/aside.html`: + +```jinja-html +# torchlight! {"lineNumbers":true} +{{ if .Params.description }}

      {{ .Params.description }}


      {{ end }} +{{ if and (gt .WordCount 400 ) (gt (len .TableOfContents) 180) }} +

      +

      On this page

      + {{ .TableOfContents }} +
      +

      +{{ end }} + +{{ if isset .Params "categories" }} +{{$related := where .Site.RegularPages ".Params.categories" "eq" .Params.categories }} +{{- $relatedLimit := default 8 .Site.Params.numberOfRelatedPosts }} +{{ if eq .Params.categories "slashes" }} +

      More /slashes

      +{{ $sortedPosts := sort $related "Title" }} + +{{ else }} +

      More {{ .Params.categories }}

      + +{{ end }} +
      +{{ end }} + +{{- $posts := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }} +{{- $featured := default 8 .Site.Params.numberOfFeaturedPosts }} +{{- $featuredPosts := first $featured (where $posts "Params.featured" true)}} +{{- with $featuredPosts }} +

      Featured Posts

      + +{{- end }} +``` + +So now if you visit any of my slash pages (like, say, [/colophon](/colophon/)) you'll see the alphabetized list of other slash pages in the side bar. + +### Closing +I'll probably keep tweaking these slash pages in the coming days, but for now I'm really glad to finally have them posted. I've only thinking about doing this for the past six months. \ No newline at end of file From 93b017ee71d86896a73848f8a0077cb8e86bb2b6 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Sun, 2 Jun 2024 21:35:48 -0500 Subject: [PATCH 74/75] update /uses --- content/uses.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/uses.md b/content/uses.md index 5286f9d..f277bd0 100644 --- a/content/uses.md +++ b/content/uses.md @@ -1,7 +1,7 @@ --- title: "/uses" date: "2024-05-29" -# lastmod: {{ .Date | time.Format "2006-01-02" }} +lastmod: "2024-06-02" description: "The hardware, software, services, and gear which I use (almost) daily." toc: true timeless: true @@ -18,7 +18,7 @@ categories: slashes - **[Weatherflow Tempest Weather Station](https://shop.tempest.earth/products/tempest)** to help me get my Wx nerd on. ### Everyday Carry -*What has it got in its pockets/backpack?* +*What has it got in its pocketses?* - **[Flipper Zero](https://flipperzero.one/)** running [Momentum Firmware](https://momentum-fw.dev/) in my pocket or bag for on-the-go hacking and exploration. - **[Leatherman FREE K4](https://www.leatherman.com/free-k4-590.html)** knife/multitool in my pocket for cutting and tinkering. - **[Milky lactase tablets](https://shopmilky.com/)** in my wallet so I can enjoy dairy without consequences. @@ -28,7 +28,8 @@ categories: slashes - **[Pixel Watch 2](https://store.google.com/product/pixel_watch_2)** on my wrist, for notifications and fitness tracking. - **[ProxGrind RF Field Detector Card](https://www.redteamtools.com/RFID_LF_HF_Field_Detector_Card)** on my keychain to quickly learn about RFID/NFC readers. - **[Ridge Wallet](https://ridge.com/products/aluminum-gunmetal)** in my pocket for keeping my cards handy. -- **[Ti EDC Backpack](https://bigidesign.com/pages/ti-edc-backpack-landing-page)** for carrying my stuff. +- **[RovyVon Aurora A7 EDC Flashlight](https://www.rovyvon.com/collections/aurora-keychain-flashlights/products/aurora-a7-usb-c-gitd-sky-blue-keychain-flashlight-4th-generation)** in my pocket for keeping the darkness at bay. +- **[Ti EDC Backpack](https://bigidesign.com/pages/ti-edc-backpack-landing-page)** for carrying my stuff, and keeping it organized while in transit. - **[Yubico Yubikey 5C NFC](https://www.yubico.com/product/yubikey-5c-nfc/)** on my keychain for hardware token things. ### Software From a06c3312878b6cc95abc92bf9c104ea06bcf6b94 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 4 Jun 2024 20:49:01 -0500 Subject: [PATCH 75/75] update search link to use mojeek --- content/posts/prettify-hugo-rss-feed-xslt/index.md | 6 +++--- static/xml/feed.xsl | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/posts/prettify-hugo-rss-feed-xslt/index.md b/content/posts/prettify-hugo-rss-feed-xslt/index.md index 3667692..3bb42b8 100644 --- a/content/posts/prettify-hugo-rss-feed-xslt/index.md +++ b/content/posts/prettify-hugo-rss-feed-xslt/index.md @@ -1,7 +1,7 @@ --- title: "Prettify Hugo RSS Feeds with XSLT" date: 2024-04-30 -lastmod: "2024-05-30" +lastmod: "2024-06-05" description: "Making my Hugo-generated RSS XML look as good to human visitors as it does to feed readers." featured: false thumbnail: pretty-feed.png @@ -180,7 +180,7 @@ That's getting there: ![A darker styled RSS page](getting-there-feed.png) -Including those CSS styles means that the rendered page now uses my color palette and the [font I worked so hard to integrate](/using-custom-font-hugo/). I'm just going to make a few more tweaks to change some of the formatting, put the `New to feeds?` bit on its own line, and point to my [self-hosted instance of the SearXNG metasearch engine](https://scribbles.jbowdre.lol/post/self-hosting-a-search-engine-iyjdlk6y) instead of DDG. +Including those CSS styles means that the rendered page now uses my color palette and the [font I worked so hard to integrate](/using-custom-font-hugo/). I'm just going to make a few more tweaks to change some of the formatting, put the `New to feeds?` bit on its own line, and point to [Mojeek](https://mojeek.com) instead of DDG ([why?](https://scribbles.jbowdre.lol/post/a-comprehensive-evaluation-of-various-search-engines-i-ve-used)). Here's my final (for now) `static/xml/feed.xsl` file: @@ -210,7 +210,7 @@ Here's my final (for now) `static/xml/feed.xsl` file:

      (RSS)

      This is an RSS feed. To subscribe to it, copy its address and paste it when your feed reader asks for it. It will be updated periodically in your reader.

      -

      New to feeds? Learn more.

      +

      New to feeds? Learn more.

      urladdressfalse diff --git a/static/xml/feed.xsl b/static/xml/feed.xsl index d51a25c..03a86f1 100644 --- a/static/xml/feed.xsl +++ b/static/xml/feed.xsl @@ -22,7 +22,7 @@

      (RSS)

      This is an RSS feed. To subscribe to it, copy its address and paste it when your feed reader asks for it. It will be updated periodically in your reader.

      -

      New to feeds? Learn more.

      +

      New to feeds? Learn more.

      urladdressfalse