Add 680px breakpoint to toolsntoys, foss-tools, guides, jl-early-tools:
header stacks, stats bar collapses to 2-col, sidebar/content grid stacks.
Fix table overflow in 3 guide pages: move overflow-x:hidden from body to
.guide-wrap so .guide-table-wrap scroll containers work on mobile Safari.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move 6 guide pages from Guides/ to ToolsnToys/ root; fix back-links.
Add edu-toys.html (museum-style iframe exhibit for 4 legacy edu toy pages).
Add 4 edu toy artifacts, dendritic curio, docker-cheatsheet-enhanced.
Wire foss-tools, guides, edu-toys, and dendritic hrefs in toolsntoys.html.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Hub (toolsntoys.html), JL's early tools (jl-early-tools.html), guides hub
(guides.html), FOSS Arsenal catalog (foss-tools.html), and 6 individual
guide pages covering AppImage, Linux install/uninstall, Docker, and
Facebook streaming. All pages use the night-sky adaptation of the
adventurers_toolbox3 aesthetic with dimmed ember alpha (0.38/0.65).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add target="_top" to all ← SPACE / back-to-root links so navigating
back to index.html breaks out of the content iframe instead of loading
it recursively inside itself (Images, Music, Watchlists hubs)
- Remove all localStorage usage: visited-star tracking in index.html
(resets each visit, no persistence without storage), and lightbox
"show once" guards in all section pages (lightboxes now show on every
load — Videos, Watchlists, Music). build.py templates updated so
future generated pages stay clean.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Music/build.py parses *-music.md files and generates collection pages supporting
YouTube video embeds (lazy IntersectionObserver) and FileBrowser audio cards with
floating media player (prev/next/auto-advance). Music star node wired in index.html.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Each panel now has a full-width '→ OPEN FULL PLAYLIST ON YOUTUBE' link
below the embed — resolves YouTube showing single video instead of playlist
- Link inherits panel accent color, inverts on hover
- Renamed TheLastCinema-watchlist.md → LastCinema-watchlist.md so build.py
generates lastcinema.html (matching hub link)
- Regenerated all 5 collection pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- watchlists-hub.html: comic book panel grid, neon-teal/green/toucan palette,
Rambla-only type hierarchy, CSS stagger entrance, wired to star map
- 5 collection pages built from *-watchlist.md sources via build.py:
contentaddictionarchive, analogfrontier, culturaldecay,
soundscapeanomalies, lastcinema
- build.py: parses MD files, generates self-contained HTML pages,
updates hub subtitle with live counts
- index.html: Watchlists star node wired to Watchlists/watchlists-hub.html
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Desktop: two nav buttons side by side (unchanged).
Mobile: collapses to a ☰ Menu toggle, dropdown reveals both links.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove FileBrowser API fetch, async lightbox logic, and per-image
download button. Add a single folder share link per collection page
next to Back to Hub. Lightbox is now fully synchronous.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
align-items: center clips content at both ends when taller than viewport.
Switch to align-items: flex-start + overflow-y: auto so gate scrolls from top.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SkyFishing: Cormorant Garamond → Estonia (display/headings), IBM Plex Mono → Share Tech Mono
- Remove escape-annotated-minimalist.html (duplicate of v2); rename Escape II → Escape in nav
- .gitignore: unblock Writings/life_in_alexandra.html (large but the one and only exception)
- life_in_alexandra.html now tracked
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Coolify serves from repo root — index.html at root means
spaces.exopraxist.org/ works directly. Writings hrefs updated
from ../Writings/ to Writings/ accordingly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>