From 2771aef1bb66f4f2bb65602a272d5a8784cd941e Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 11:15:31 -0500 Subject: [PATCH 1/6] swap back to cabin for analytics --- content/changelog.md | 5 ++++- content/colophon.md | 4 ++-- layouts/_default/single.html | 3 --- layouts/partials/aside.html | 5 ----- layouts/partials/head.html | 4 ++-- 5 files changed, 8 insertions(+), 13 deletions(-) diff --git a/content/changelog.md b/content/changelog.md index dcc6567..8e397a1 100644 --- a/content/changelog.md +++ b/content/changelog.md @@ -1,7 +1,7 @@ --- title: "/changelog" date: "2024-05-26T21:19:08Z" -lastmod: "2024-06-13T16:20:54Z" +lastmod: "2024-06-18T16:12:15Z" description: "Maybe I should keep a log of all my site-related tinkering?" featured: false toc: false @@ -10,6 +10,9 @@ categories: slashes --- *High-level list of config/layout changes to the site.* +**2024-06-18:** +- Swap back to [Cabin](https://withcabin.com) analytics + **2024-06-13:** - Add [Typo](https://neatnik.net/typo/) and a blinking cursor to the random taglines in the sidebar diff --git a/content/colophon.md b/content/colophon.md index 52f78e1..a6a6fc6 100644 --- a/content/colophon.md +++ b/content/colophon.md @@ -1,7 +1,7 @@ --- title: "/colophon" date: "2024-05-26T22:30:58Z" -lastmod: "2024-06-13T22:06:26Z" +lastmod: "2024-06-18T16:09:47Z" description: "There's a lot that goes into this site. Let me tell you how it works." featured: false toc: true @@ -15,7 +15,7 @@ categories: slashes - 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 and cute kudos buttons. +- leverages [Cabin](https://withcabin.com) for [privacy-friendly](https://withcabin.com/privacy/runtimeterror.dev) analytics. - resolves via [Bunny DNS](https://bunny.net/dns/). - is published to / hosted on [Bunny Storage](https://bunny.net/storage/) and [Bunny CDN](https://bunny.net/cdn/) with a [GitHub Actions workflow](//further-down-the-bunny-hole/) - 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). diff --git a/layouts/_default/single.html b/layouts/_default/single.html index bdc5c86..11c8247 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -41,9 +41,6 @@ {{- end }} {{- if or (eq $reply true) (eq .Site.Params.analytics "true") }}
- {{- if eq .Site.Params.analytics true }} - - {{- end }} {{- if (eq $reply true) }} {{- $path := .Page.RelPermalink | path.Dir }} {{- $path := strings.Trim $path "/" }} diff --git a/layouts/partials/aside.html b/layouts/partials/aside.html index a37a656..48217c6 100644 --- a/layouts/partials/aside.html +++ b/layouts/partials/aside.html @@ -56,8 +56,3 @@
-{{- if eq .Site.Params.analytics true }} -
-

webring

-️🕸💍 -{{- end }} \ No newline at end of file diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 00325a4..63ecef5 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -38,8 +38,8 @@ {{ if eq .Site.Params.analytics true }} - - + + {{ end }} From 1091a7c7604ddaf578178400411e356e6f090ac8 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 11:15:59 -0500 Subject: [PATCH 2/6] remove shoutouts --- layouts/partials/aside.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/layouts/partials/aside.html b/layouts/partials/aside.html index 48217c6..1d65dea 100644 --- a/layouts/partials/aside.html +++ b/layouts/partials/aside.html @@ -54,5 +54,4 @@

status.lol

-
- + From a3ad708fe6f91ad04dace225a0df14808f3a1879 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 11:16:57 -0500 Subject: [PATCH 3/6] remove tinylytics styling --- static/css/custom.css | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/static/css/custom.css b/static/css/custom.css index 6b2c423..0f89f89 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -294,39 +294,6 @@ blockquote { padding-left: 0.25rem; } -/* tinylytics styling*/ -.post_kudos { - display: flex; -} - -button.tinylytics_kudos { - border: 0; - background-color: transparent; - cursor: pointer; - display: flex; - color: var(--off-fg); - font-size: 1.2rem; - padding: 0; - transition: all .2s ease-in-out; -} - -button.tinylytics_kudos:hover { - transform: scale(1.1); - text-shadow: var(--off-fg) 0 0 1px; -} - -img.tinylytics_webring_avatar { - border-radius: 100%; - height: 2rem; - width: 2rem; - vertical-align:middle; -} - -a.tinylytics_webring { - text-decoration: none; - font-size: 1.5rem; -} - /* shoutouts styling */ .shoutout .shoutout__container .shoutout__title { font-size: 1rem; From dab7b3d4b70f6f58c61d859145f6ae0a4cf66e37 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 11:17:32 -0500 Subject: [PATCH 4/6] remove shoutouts styling --- static/css/custom.css | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/static/css/custom.css b/static/css/custom.css index 0f89f89..3e23b07 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -294,20 +294,6 @@ blockquote { padding-left: 0.25rem; } -/* shoutouts styling */ -.shoutout .shoutout__container .shoutout__title { - font-size: 1rem; - margin: 0; - margin-bottom: 0.5rem; - font-weight: bold; -} - -.shoutout .shoutout__container .shoutout__content { - font-style: italic; - font-size: 0.9rem; - line-height: 1.2rem; -} - /* post front matter styling*/ .frontmatter hr { margin-bottom: 0rem; From 2489d55a467f96923a7bbb184867c439fe08276c Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 13:24:49 -0500 Subject: [PATCH 5/6] use custom domain for cabin --- layouts/partials/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 63ecef5..3aea004 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -39,7 +39,7 @@ {{ if eq .Site.Params.analytics true }} - + {{ end }} From 5ecd7653b4f7bef84277a20ad414d513b399d306 Mon Sep 17 00:00:00 2001 From: John Bowdre Date: Tue, 18 Jun 2024 22:00:05 -0500 Subject: [PATCH 6/6] update links to new weblog --- config/_default/params.toml | 6 +++--- content/about.md | 2 +- content/homelab.md | 2 +- content/posts/display-tempest-weather-static-site/index.md | 2 +- content/posts/further-down-the-bunny-hole/index.md | 4 ++-- content/posts/prettify-hugo-rss-feed-xslt/index.md | 2 +- content/posts/using-custom-font-hugo/index.md | 4 ++-- content/uses.md | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index 83b28c4..c5db7e6 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -161,9 +161,9 @@ title = "omg.lol" url = "https://jbowdre.lol" [[socialLinks]] -icon = "fa-solid fa-sticky-note" -title = "Scribbles 'n Bits" -url = "https://scribbles.jbowdre.lol" +icon = "fa-solid fa-pen-to-square" +title = "Weblog" +url = "https://blog.jbowdre.lol" [[socialLinks]] icon = "fa-solid fa-satellite" diff --git a/content/about.md b/content/about.md index c5dda2a..60c0d3c 100644 --- a/content/about.md +++ b/content/about.md @@ -27,7 +27,7 @@ And in the free time I have left, I game on my Steam Deck. ### See what I've been up to on: - [GitHub](https://github.com/jbowdre) -- [Scribbles 'n Bits](https://scribbles.jbowdre.lol) +- [Weblog](https://blog.jbowdre.lol) - [Gemlog](https://capsule.jbowdre.lol/gemlog/) - [status.lol](https://status.jbowdre.lol) - [social.lol](https://social.lol/@jbowdre) diff --git a/content/homelab.md b/content/homelab.md index 972b701..ee10ba9 100644 --- a/content/homelab.md +++ b/content/homelab.md @@ -79,6 +79,6 @@ I like to know what's flying overhead, and I'm also feeding flight data to [flig - [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)) + - [SearXNG](https://docs.searxng.org/) self-hosted metasearch engine serving [grep.vpota.to](https://grep.vpota.to) ([post](https://blog.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 diff --git a/content/posts/display-tempest-weather-static-site/index.md b/content/posts/display-tempest-weather-static-site/index.md index dc7c1ce..c5e8693 100644 --- a/content/posts/display-tempest-weather-static-site/index.md +++ b/content/posts/display-tempest-weather-static-site/index.md @@ -14,7 +14,7 @@ tags: - meta - serverless --- -As I covered briefly [in a recent Scribble](https://scribbles.jbowdre.lol/post/near-realtime-weather-on-profile-lol-ku4yq-zr), I was inspired by the way [Kris's omg.lol page](https://kris.omg.lol/) displays realtime data from his [Weatherflow Tempest weather station](https://shop.weatherflow.com/products/tempest). I thought that was really neat and wanted to do the same on [my omg.lol page](https://jbowdre.lol) with data from my own Tempest, but I wanted to find a way to do it without needing to include an authenticated API call in the client-side JavaScript. +As I covered briefly [in a recent Scribble](https://blog.jbowdre.lol/post/near-realtime-weather-on-profile-lol-ku4yq-zr), I was inspired by the way [Kris's omg.lol page](https://kris.omg.lol/) displays realtime data from his [Weatherflow Tempest weather station](https://shop.weatherflow.com/products/tempest). I thought that was really neat and wanted to do the same on [my omg.lol page](https://jbowdre.lol) with data from my own Tempest, but I wanted to find a way to do it without needing to include an authenticated API call in the client-side JavaScript. I realized I could use a GitHub Actions workflow to retrieve the data from the authenticated Tempest API, post it somewhere publicly accessible, and then have the client-side code fetch the data from there without needing any authentication. After a few days of tinkering, I came up with a presentation I'm happy with. diff --git a/content/posts/further-down-the-bunny-hole/index.md b/content/posts/further-down-the-bunny-hole/index.md index 8743cbe..dab9a40 100644 --- a/content/posts/further-down-the-bunny-hole/index.md +++ b/content/posts/further-down-the-bunny-hole/index.md @@ -14,11 +14,11 @@ tags: - meta - selfhosting --- -It wasn't too long ago (January, in fact) that I started [hosting this site with Neocities](/deploy-hugo-neocities-github-actions/). I was pretty pleased with that setup, but a few weeks ago my [monitoring setup](https://scribbles.jbowdre.lol/post/upptime-serverless-server-monitoring-c88fbaz7) started reporting that the site was down. And sure enough, trying to access the site would return a generic error message stating that the site was unknown. I eventually discovered that this was due to Neocities "forgetting" that the site was linked to the `runtimeterror.dev` domain. It was easy enough to just re-enter that domain in the configuration, and that immediately fixed things... until a few days later when the same thing happened again. +It wasn't too long ago (January, in fact) that I started [hosting this site with Neocities](/deploy-hugo-neocities-github-actions/). I was pretty pleased with that setup, but a few weeks ago my [monitoring setup](https://blog.jbowdre.lol/post/upptime-serverless-server-monitoring-c88fbaz7) started reporting that the site was down. And sure enough, trying to access the site would return a generic error message stating that the site was unknown. I eventually discovered that this was due to Neocities "forgetting" that the site was linked to the `runtimeterror.dev` domain. It was easy enough to just re-enter that domain in the configuration, and that immediately fixed things... until a few days later when the same thing happened again. The same problem has now occurred five or six times, and my messages to the Neocities support contact have gone unanswered. I didn't see anyone else online reporting this exact issue, but I found several posts on Reddit about sites getting randomly broken (or even deleted!) and support taking a week (or more) to reply. I don't have that kind of patience, so I started to consider moving my content away from Neocities and cancelling my $5/month Supporter subscription. -I [recently](https://scribbles.jbowdre.lol/post/i-just-hopped-to-bunny-net) started using [bunny.net](https://bunny.net) for the site's DNS, and had also [leveraged Bunny's CDN for hosting font files](/using-custom-font-hugo/). This setup has been working great for me, and I realized that I could also use Bunny's CDN for hosting the entirety of my static site as well. After all, serving static files on the web is exactly what a CDN is great at. After an hour or two of tinkering, I successfully switched hosting setups with just a few seconds of downtime. +I [recently](https://blog.jbowdre.lol/post/i-just-hopped-to-bunny-net) started using [bunny.net](https://bunny.net) for the site's DNS, and had also [leveraged Bunny's CDN for hosting font files](/using-custom-font-hugo/). This setup has been working great for me, and I realized that I could also use Bunny's CDN for hosting the entirety of my static site as well. After all, serving static files on the web is exactly what a CDN is great at. After an hour or two of tinkering, I successfully switched hosting setups with just a few seconds of downtime. Here's how I did it. diff --git a/content/posts/prettify-hugo-rss-feed-xslt/index.md b/content/posts/prettify-hugo-rss-feed-xslt/index.md index 3bb42b8..3398947 100644 --- a/content/posts/prettify-hugo-rss-feed-xslt/index.md +++ b/content/posts/prettify-hugo-rss-feed-xslt/index.md @@ -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 [Mojeek](https://mojeek.com) instead of DDG ([why?](https://scribbles.jbowdre.lol/post/a-comprehensive-evaluation-of-various-search-engines-i-ve-used)). +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://blog.jbowdre.lol/post/a-comprehensive-evaluation-of-various-search-engines-i-ve-used)). Here's my final (for now) `static/xml/feed.xsl` file: diff --git a/content/posts/using-custom-font-hugo/index.md b/content/posts/using-custom-font-hugo/index.md index 408a78a..8fd2389 100644 --- a/content/posts/using-custom-font-hugo/index.md +++ b/content/posts/using-custom-font-hugo/index.md @@ -13,7 +13,7 @@ tags: - meta - tailscale --- -Last week, I came across and immediately fell in love with a delightfully-retro monospace font called [Berkeley Mono](https://berkeleygraphics.com/typefaces/berkeley-mono/). I promptly purchased a "personal developer" license and set to work [applying the font in my IDE and terminal](https://scribbles.jbowdre.lol/post/trying-tabby-terminal). I didn't want to stop there, though; the license also permits me to use the font on my personal site, and Berkeley Mono will fit in beautifully with the whole runtimeterror aesthetic. +Last week, I came across and immediately fell in love with a delightfully-retro monospace font called [Berkeley Mono](https://berkeleygraphics.com/typefaces/berkeley-mono/). I promptly purchased a "personal developer" license and set to work [applying the font in my IDE and terminal](https://blog.jbowdre.lol/post/trying-tabby-terminal). I didn't want to stop there, though; the license also permits me to use the font on my personal site, and Berkeley Mono will fit in beautifully with the whole runtimeterror aesthetic. Well, you're looking at the slick new font here, and I'm about to tell you how I added the font both to the site itself and to the [dynamically-generated OpenGraph share images](/dynamic-opengraph-images-with-hugo/) setup. It wasn't terribly hard to implement, but the Hugo documentation is a bit light on how to do it (and I'm kind of inept at this whole web development thing). @@ -81,7 +81,7 @@ And that would work just fine... but it *would* require storing those web font f So instead, I opted to try using a [Content Delivery Network (CDN)](https://en.wikipedia.org/wiki/Content_delivery_network) to host the font files. This would allow for some degree of access control, help me learn more about a web technology I hadn't played with much, and make use of a cool `cdn.*` subdomain in the process. {{% notice note "Double the CDN, double the fun" %}} -Of course, while writing this post I gave in to my impulsive nature and [migrated the site from Cloudflare to Bunny.net](https://scribbles.jbowdre.lol/post/i-just-hopped-to-bunny-net). Rather than scrap the content I'd already written, I'll go ahead and describe how I set this up first on [Cloudflare R2](https://www.cloudflare.com/developer-platform/r2/) and later on [Bunny Storage](https://bunny.net/storage/). +Of course, while writing this post I gave in to my impulsive nature and [migrated the site from Cloudflare to Bunny.net](https://blog.jbowdre.lol/post/i-just-hopped-to-bunny-net). Rather than scrap the content I'd already written, I'll go ahead and describe how I set this up first on [Cloudflare R2](https://www.cloudflare.com/developer-platform/r2/) and later on [Bunny Storage](https://bunny.net/storage/). {{% /notice %}} #### Cloudflare R2 diff --git a/content/uses.md b/content/uses.md index f277bd0..cf63f64 100644 --- a/content/uses.md +++ b/content/uses.md @@ -13,7 +13,7 @@ categories: slashes *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)). +- **[BOOX Note Air3 C](https://shop.boox.com/products/noteair3) e-ink tablet** for reading and (hand)writing notes (more on this [here](https://blog.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. @@ -23,7 +23,7 @@ categories: slashes - **[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 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://blog.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.