From 621be5f9e98e7930458b161bc03f8e4f105f5c37 Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Thu, 19 Jun 2025 02:22:11 -0400 Subject: [PATCH] Updates --- about/index.html | 2 +- books/index.html | 2 +- index.html | 2 +- music/index.html | 2 +- now/index.html | 2 +- .../authority-consents-blind-spot/index.html | 2 +- posts/embracing-mysticism/index.html | 2 +- posts/finally-a-coherent-worldview/index.html | 2 +- posts/index.html | 2 +- posts/my-very-own-github-pages/index.html | 2 +- posts/needs-based-communication/index.html | 2 +- posts/site-design-updated/index.html | 2 +- .../index.html | 2 +- posts/thinking-machines/index.html | 2 +- posts/tools-of-the-trade/index.html | 2 +- recipes/amish-egg-noodles/index.html | 2 +- recipes/corn-casserole/index.html | 2 +- recipes/creamy-chicken-orzo/index.html | 2 +- recipes/index.html | 2 +- recipes/luther-salad/index.html | 2 +- recipes/pasta-rosatella/index.html | 2 +- recipes/perfect-homemade-brownies/index.html | 2 +- recipes/sloppy-joes/index.html | 2 +- recipes/spanish-style-rice/index.html | 2 +- scripts/effects.js | 156 +++++++++--------- search/index.html | 2 +- sitemap.xml | 2 +- unoffice-hours/index.html | 2 +- uses/index.html | 2 +- 29 files changed, 108 insertions(+), 104 deletions(-) diff --git a/about/index.html b/about/index.html index 33ab385..a14852c 100644 --- a/about/index.html +++ b/about/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/books/index.html b/books/index.html index 9e1b19e..730f6c7 100644 --- a/books/index.html +++ b/books/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/index.html b/index.html index 88cd661..d1fcd51 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/music/index.html b/music/index.html index 1714980..90d9f38 100644 --- a/music/index.html +++ b/music/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/now/index.html b/now/index.html index 72c1c50..4fbef67 100644 --- a/now/index.html +++ b/now/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/authority-consents-blind-spot/index.html b/posts/authority-consents-blind-spot/index.html index e659712..90fb5ac 100644 --- a/posts/authority-consents-blind-spot/index.html +++ b/posts/authority-consents-blind-spot/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/embracing-mysticism/index.html b/posts/embracing-mysticism/index.html index 54aa22b..47ff571 100644 --- a/posts/embracing-mysticism/index.html +++ b/posts/embracing-mysticism/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/finally-a-coherent-worldview/index.html b/posts/finally-a-coherent-worldview/index.html index d5cd717..d8cfad2 100644 --- a/posts/finally-a-coherent-worldview/index.html +++ b/posts/finally-a-coherent-worldview/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/index.html b/posts/index.html index 3e937f9..d3eb914 100644 --- a/posts/index.html +++ b/posts/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/my-very-own-github-pages/index.html b/posts/my-very-own-github-pages/index.html index be4a865..19be9f7 100644 --- a/posts/my-very-own-github-pages/index.html +++ b/posts/my-very-own-github-pages/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/needs-based-communication/index.html b/posts/needs-based-communication/index.html index 82b7b87..050730e 100644 --- a/posts/needs-based-communication/index.html +++ b/posts/needs-based-communication/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/site-design-updated/index.html b/posts/site-design-updated/index.html index 9e4eaa8..1788a13 100644 --- a/posts/site-design-updated/index.html +++ b/posts/site-design-updated/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/the-trivium-a-tool-for-learning-anything/index.html b/posts/the-trivium-a-tool-for-learning-anything/index.html index 357a7ad..051b8a3 100644 --- a/posts/the-trivium-a-tool-for-learning-anything/index.html +++ b/posts/the-trivium-a-tool-for-learning-anything/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/thinking-machines/index.html b/posts/thinking-machines/index.html index 477590e..3461193 100644 --- a/posts/thinking-machines/index.html +++ b/posts/thinking-machines/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/posts/tools-of-the-trade/index.html b/posts/tools-of-the-trade/index.html index c51a8c4..4b03c9a 100644 --- a/posts/tools-of-the-trade/index.html +++ b/posts/tools-of-the-trade/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/amish-egg-noodles/index.html b/recipes/amish-egg-noodles/index.html index 9e49291..0cfc416 100644 --- a/recipes/amish-egg-noodles/index.html +++ b/recipes/amish-egg-noodles/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/corn-casserole/index.html b/recipes/corn-casserole/index.html index 89c1b14..3867bf8 100644 --- a/recipes/corn-casserole/index.html +++ b/recipes/corn-casserole/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/creamy-chicken-orzo/index.html b/recipes/creamy-chicken-orzo/index.html index 6b049e8..6435f2d 100644 --- a/recipes/creamy-chicken-orzo/index.html +++ b/recipes/creamy-chicken-orzo/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/index.html b/recipes/index.html index c7f12dc..e02cd6d 100644 --- a/recipes/index.html +++ b/recipes/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/luther-salad/index.html b/recipes/luther-salad/index.html index 2ca4ddf..fd2a0ff 100644 --- a/recipes/luther-salad/index.html +++ b/recipes/luther-salad/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/pasta-rosatella/index.html b/recipes/pasta-rosatella/index.html index 003a6f6..d668b4e 100644 --- a/recipes/pasta-rosatella/index.html +++ b/recipes/pasta-rosatella/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/perfect-homemade-brownies/index.html b/recipes/perfect-homemade-brownies/index.html index 19d51cf..7ac4f17 100644 --- a/recipes/perfect-homemade-brownies/index.html +++ b/recipes/perfect-homemade-brownies/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/sloppy-joes/index.html b/recipes/sloppy-joes/index.html index 67507bf..372e2d8 100644 --- a/recipes/sloppy-joes/index.html +++ b/recipes/sloppy-joes/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/recipes/spanish-style-rice/index.html b/recipes/spanish-style-rice/index.html index f7b5591..8e3c65c 100644 --- a/recipes/spanish-style-rice/index.html +++ b/recipes/spanish-style-rice/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/scripts/effects.js b/scripts/effects.js index 4e9d6d7..b1f639f 100644 --- a/scripts/effects.js +++ b/scripts/effects.js @@ -5,12 +5,87 @@ const defaultPrefs = { language: "english", theme: "auto", }; -window.addEventListener('load', () => { - document.querySelector('script[data-website-id]').addEventListener('load', () => { - try { - umami.identify({ deviceTheme: darkModeMediaQuery ? "dark" : "light" }); - } catch {} + +document.querySelector('script[data-website-id]').addEventListener('load', () => { + try { + umami.identify({ deviceTheme: darkModeMediaQuery ? "dark" : "light" }); + } catch {} +}); + +function applyPreference(key, value, shouldSave) { + if (umami !== null) { + umami.identify({ + [`pref-${key}`]: value, + }); + if (shouldSave) { + umami.track(`Set ${key} to ${value}`); + } + } + document.body.setAttribute(`data-${key}`, value); + document.querySelectorAll(`input[name=${key}]`).forEach((input) => { + if (input.value === value) { + input.checked = true; + } }); + if (shouldSave) { + localStorage.setItem(key, value); + } +} + +/** @param {Event} evt */ +function removeEffect({ target }) { + const effectsLayer = document.querySelector("#effects"); + const effects = Array.from(effectsLayer.children).filter( + (e) => e.__effectParent === target, + ); + effects.forEach((e) => { + e.getAnimations().forEach((anim) => { + if (anim.currentTime < 100) { + anim.pause(); + effectsLayer.removeChild(e); + return; + } + anim.pause(); + anim.updatePlaybackRate(-0.25); + anim.play(); + anim.addEventListener("finish", () => { + if (effectsLayer.contains(e)) { + effectsLayer.removeChild(e); + } + }); + }); + }); +} + +/** @param {Event} evt */ +function addEffect({ target }) { + const effectsLayer = document.querySelector("#effects"); + if ( + target == null || + !target["matches"] || + !target.matches("a[href],.nav-toggle-button,button,input[type='radio']") + ) { + return; + } + const rects = Array.from(target.getClientRects()); + Array.from(target.children).forEach((child) => { + rects.push(...Array.from(child.getClientRects())); + }); + rects.forEach((rect) => { + const { top, left, width, height } = rect; + const newEffect = document.createElement("div"); + newEffect.__effectParent = target; + newEffect.classList.add("effect-instance"); + const padding = "10rem"; + newEffect.style.top = `calc(${top + window.scrollY}px - ${padding})`; + newEffect.style.left = `calc(${left + window.scrollX}px - ${padding})`; + newEffect.style.width = `calc(${width}px + 2 * ${padding})`; + newEffect.style.height = `calc(${height}px + 2 * ${padding})`; + effectsLayer.appendChild(newEffect); + }); +} + +document.addEventListener('DOMContentLoaded', () => { Object.entries(defaultPrefs).forEach(([key, defaultPref]) => { const currentPref = localStorage.getItem(key) ?? defaultPref; applyPreference(key, currentPref, false); @@ -20,80 +95,9 @@ window.addEventListener('load', () => { }); }); }); - function applyPreference(key, value, shouldSave) { - if (umami !== null) { - umami.identify({ - [`pref-${key}`]: value, - }); - if (shouldSave) { - umami.track(`Set ${key} to ${value}`); - } - } - document.body.setAttribute(`data-${key}`, value); - document.querySelectorAll(`input[name=${key}]`).forEach((input) => { - if (input.value === value) { - input.checked = true; - } - }); - if (shouldSave) { - localStorage.setItem(key, value); - } - } - - /** @param {Event} evt */ - function addEffect({ target }) { - const effectsLayer = document.querySelector("#effects"); - if ( - target == null || - !target["matches"] || - !target.matches("a[href],.nav-toggle-button,button,input[type='radio']") - ) { - return; - } - const rects = Array.from(target.getClientRects()); - Array.from(target.children).forEach((child) => { - rects.push(...Array.from(child.getClientRects())); - }); - rects.forEach((rect) => { - const { top, left, width, height } = rect; - const newEffect = document.createElement("div"); - newEffect.__effectParent = target; - newEffect.classList.add("effect-instance"); - const padding = "10rem"; - newEffect.style.top = `calc(${top + window.scrollY}px - ${padding})`; - newEffect.style.left = `calc(${left + window.scrollX}px - ${padding})`; - newEffect.style.width = `calc(${width}px + 2 * ${padding})`; - newEffect.style.height = `calc(${height}px + 2 * ${padding})`; - effectsLayer.appendChild(newEffect); - }); - } document.addEventListener("mouseenter", addEffect, true); document.addEventListener("focus", addEffect, true); - /** @param {Event} evt */ - function removeEffect({ target }) { - const effectsLayer = document.querySelector("#effects"); - const effects = Array.from(effectsLayer.children).filter( - (e) => e.__effectParent === target, - ); - effects.forEach((e) => { - e.getAnimations().forEach((anim) => { - if (anim.currentTime < 100) { - anim.pause(); - effectsLayer.removeChild(e); - return; - } - anim.pause(); - anim.updatePlaybackRate(-0.25); - anim.play(); - anim.addEventListener("finish", () => { - if (effectsLayer.contains(e)) { - effectsLayer.removeChild(e); - } - }); - }); - }); - } document.addEventListener("mouseleave", removeEffect, true); document.addEventListener("blur", removeEffect, true); }); diff --git a/search/index.html b/search/index.html index 0395750..1e0b4b2 100644 --- a/search/index.html +++ b/search/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/sitemap.xml b/sitemap.xml index 9ea5fb4..bcaae80 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -228,7 +228,7 @@ /feed.xml - 2025-06-19T06:18:37.782Z + 2025-06-19T06:22:09.788Z diff --git a/unoffice-hours/index.html b/unoffice-hours/index.html index 2d9d8b2..bbf3031 100644 --- a/unoffice-hours/index.html +++ b/unoffice-hours/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - + diff --git a/uses/index.html b/uses/index.html index 69658fa..57830a7 100644 --- a/uses/index.html +++ b/uses/index.html @@ -13,7 +13,7 @@ src="https://stats.apps.seigler.net/script.js" data-website-id="ccb4bd94-2a71-47fe-8eea-d85bf75b7f6d" > - +