Commit Graph
22 Commits
Author SHA1 Message Date
wesandClaude Opus 4.8 f5c37ac5a5 Park map: add phoenix back to the landmark labels
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:55:20 -04:00
wesandClaude Opus 4.8 5e0529930e Park map: fixed landmark labels (twister/sklooosh/haunted mansion/kiddie whip)
Wayfinding anchors across the park regions instead of the busiest rides;
name-only, since the glow and hover already carry the waits.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:51:25 -04:00
wesandClaude Fable 5 5d08d6b1bb Strip order: knoebels line last, directly above the park map
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:20:25 -04:00
wesandClaude Fable 5 df5b58c4fd Park-heat map: Esri World Imagery basemap under the glows
Web-Mercator slippy projection for both tiles and rides (exact
alignment), dark tint to keep the garden tone, label halos for
legibility over imagery, required Esri attribution. Google tiles were
ruled out (ToS requires the Maps JS API + key/billing).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:19:39 -04:00
wesandClaude Fable 5 16b837a2e7 Wider map label clamp (black diamond was still clipping)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:17:08 -04:00
wesandClaude Fable 5 8b9b5f2831 Homepage strip: Susquehanna stage + 48h flood forecast line; clamp map edge labels
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:15:56 -04:00
wesandClaude Fable 5 2c7f467cf9 Homepage: Knoebels park-heat map under the live strip
One glow per ride from api.c0smere.net/knoebels/rides — live waits while
the park is open, typical-weekend-peak means otherwise. Color = wait
class (validated dark palette), glow radius = magnitude, top-5 direct
labels + native tooltips. Fail-closed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 11:11:07 -04:00
wesandClaude Fable 5 01d7ce8aa8 Homepage live strip: Knoebels line (live crowd verdict / best-day outlook)
Second row in the live strip fed by api.c0smere.net/knoebels/{now,outlook}
(knb-oracle pipeline): while the park is open, live avg wait + verdict with
a crowd-colored dot; while closed, the best upcoming day. Fail-closed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 10:05:32 -04:00
wesandClaude Fable 5 97d302e9af Homepage h1s back to section heads (links row left the vault index); LinkedIn in nav + footer
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 22:10:55 -04:00
wesandClaude Fable 5 8f48656e91 Build stamp, live listening strip, OG cards, closer shiki ground
- footer: 'built <ts> · <hash> · <n> notes', hash linking to Gitea
  (GARDEN_COMMIT passed in by build.sh; '+' marks dirty-tree builds)
- homepage header: live strip fed by api.c0smere.net/spotify/summary
  (weekly aggregate + monthly top artist/genre), fail-closed like the
  odometer and header quote
- /og/<slug>.png satori+resvg cards for every note + the homepage;
  og:/twitter: meta in Base
- shiki github-dark-default (#0d1117 sits closer to the page ground)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 22:08:53 -04:00
wesandClaude Fable 5 3d70e23471 Manual rebuild hook + polish: single title h1, '›' tree marker
- deploy/rebuild-hook.py: tiny stdlib HTTP service (:18101) — button
  page for the Homepage dashboard iframe, POST /rebuild runs
  auto-build.sh --force, /status + /healthz for feedback/monitoring
- auto-build.sh: --force flag + flock so timer and manual builds
  serialize
- [...slug].astro: skip the synthetic h1 when the note body already
  opens with an identical h1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 21:45:36 -04:00
wesandClaude Fable 5 8efb1ecf80 build.sh: run the build container as the invoking user
Root-owned node_modules/dist/public from the container blocked git pull
(public/fonts could not be created). Chown once, then keep artifacts
user-owned via --user + HOME/npm cache in /tmp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 21:41:32 -04:00
wesandClaude Fable 5 bb80d1836a Adopt Wes's cyrion-local resume slug fix (easy-bronze-gazelle) in header + footer
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 21:40:34 -04:00
wesandClaude Fable 5 601922e607 Design pass: visual alignment with the Ghost blog
Fixed-dark theme matching blog.c0smere.net (Source theme + injections):
bg #0b0d12, white/64%-white text, accent green #218107 (links lifted to
#2fa50f for contrast). Self-hosted JetBrains Mono + Libre Baskerville —
the same woff2 files the blog serves. Site header with logo + nav
mirroring gh-head; serif-italic quotes; blog-style borderless tables;
single dark shiki/mermaid theme; homepage styled as a typographic feed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 21:38:04 -04:00
wesandClaude Opus 4.8 0a57aa9db1 Footer resume link -> public Reactive Resume URL (Wes's fix); auto-build detects uncommitted repo edits
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 18:44:31 -04:00
wesandClaude Opus 4.8 b31ea9fc82 Production cutover: rename container to garden, add auto-rebuild timer
- deploy/auto-build.sh: git pull + rebuild only when the repo HEAD or any
  vault file mtime changed (sha256 signature in .build_state); replaces
  the Quartz update_quartz_docker.sh loop
- systemd user units (5-min cadence, matching the old Quartz timer)
- compose service/container renamed garden-next -> garden

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 15:51:42 -04:00
wesandClaude Opus 4.8 7fe09f077a Header slot: random reading highlight per page view
Pulled client-side from /highlights/random (max_len=280); attribution
from the API's parsed title/author; hidden when the API is unreachable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 15:42:47 -04:00
wesandClaude Opus 4.8 a05e3f7661 Footer quotes + right-hand table of contents
- two static quotes above the name line in every footer
- Toc component renders h1-h3 from Astro's render() headings as a sticky
  right column on >=88rem screens (hidden below); scroll-position
  highlighting via a small passive listener; shown only when a page has
  2+ headings, so listings and short notes stay clean

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 15:34:20 -04:00
wesandClaude Opus 4.8 ec3aa15e66 Drop the api link from the footer caption
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 15:30:25 -04:00
wesandClaude Opus 4.8 f9e45f32f8 Move odometer into the shared footer
Widget + script + styles live in Base.astro now, so every page ticks;
index.astro is back to just rendering the vault homepage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 15:21:17 -04:00
wesandClaude Opus 4.8 13b23ace3d Sidebar nav: full garden tree on every page
- buildNavTree: every non-draft page nested by vault folder; folders link
  to their (real or synthetic) index page and take its title when set
- NavTree component: recursive details/summary tree, no JS — folders on
  the current path render open, current page gets aria-current styling
- layout: sticky left sidebar >=72rem, flows after the footer as a site
  index on narrow screens

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 14:54:04 -04:00
wesandClaude Opus 4.8 04c9aa2fb2 Astro garden skeleton: Quartz-compatible URLs, Obsidian markdown, odometer homepage
- glob content loader over the vault's Digital_Garden with verbatim-path ids
- remark plugin: wikilinks, image embeds (wiki + relative md), callouts
- URL parity with live Quartz sitemap verified 102/102 (built set is a
  strict superset: +30 synthetic folder listings)
- KaTeX, lazy mermaid, shiki dual themes, quoted-string draft handling
- copy-assets resolves embeds vault-wide (fixes live-site 404s for
  Blog Scratch/assets images) into flat /assets/
- homepage odometer widget: fetches api.c0smere.net baseline, ticks at
  lifetime average rate, fail-closed hidden on error
- deploy/: nginx try_files config + compose (port 18100) + containerized
  build script for cyrion

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 14:18:59 -04:00