| Age | Commit message (Collapse) | Author |
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
index.html shrank from 1650 to 349 lines. Inline <style>
moved to index.css, ARTICLES data to articles.js, the rest of
the inline script to index.js. Also:
- drop unused bindMusicToggle from aero.js
- collapse duplicate click+dblclick icon handlers
- dedup music-toggle gradient via .mt-btn.on class
- replace inline styles in films/podcast/now-playing renderers
with semantic classes (.film-when, .pod-ep, .np-row, etc.)
- precompute article readMin and plainTitle once instead of on
every render
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
The sparkle div is appended inside the zoomed <html>, so writing raw
clientX/Y into style.left/top placed each sparkle at clientX*zoom on
screen β drifting toward the origin. Divide by window.__uiScale.
|
|
|
|
Drag and resize handlers were reading pointer deltas in visual pixels
but writing to style.left/width which live in the (zoomed) layout
coord space β so dragging at zoom 0.7 lagged 30% behind the cursor.
Now divide deltas by window.__uiScale (set by the desktop-fit script).
Also: when a window is resized, scale its title bar and body via
`zoom` so the text inside grows/shrinks with the window. Baseline is
captured on first resize.
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
Use a JS-driven `zoom` on <html> computed from viewport vs a 1440x900
baseline (clamped at 0.55) so absolutely-positioned windows, icons,
and the taskbar stop overlapping on lower-res displays.
|
|
Implements the Frutiger Aero "Quiet Web" design handoff, merged into the
existing site without touching content:
- aero.css: append AERO β DEEPER POLISH (glass sheen, icon halo, horizon
ripple, plus aero+chrome styles for all new widgets)
- index.html: Neighbors icon + #w-neighbors window, #webring pill, #sticky
note, #uptime ribbon, Caveat font, sticky-drag + webring JS
- enter.html: welcome droplets, indie-pledge strip, footer webring, Caveat
font (gate sheen + logo halo via CSS)
aero.js left unchanged (current version newer than handoff's).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
- personal-library: cooking books (Julia Child, Kenji, Chinese, Japanese)
and piano books (Mark Davis, Kent Hewitt, Real Book, Disney Fake Book)
- music-list: full ~500 album tree from music directory
- software-and-hardware: PC specs, audio chain, Artix Linux software stack
- update browser bookmarks to match new slugs (books/music/linux)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
handoff
Browser window (w-browser, Internet icon):
- Full aqua browser chrome: toolbar with back/fwd/reload/home SVG nav buttons,
URL bar (lock + scheme + host + path + blinking caret), bookmark chips
with colored 12x12 favicon squares, scrollable page surface, status bar
with animated progress bar
- History stack (back/forward state, disable at ends)
- Delegated click handler via data-go attributes for in-page navigation
- Refresh button spins 700ms via CSS animation
- Address bar + title bar update on every navigation
- ARTICLES array with 4 entries (self-hosting, jazz, cooking, film) with
drop-cap, Georgia body, IBM Plex Mono metadata, blockquotes, inline ilinks
- Chrome theme: brushed mercury toolbar, dark navy article surface with
iridescent radial hotspots, Audiowide titles with chromeShimmer drop-cap,
Michroma UI labels, iridescent progress bar, custom scrollbar
Resizable windows:
- makeResizable() in aero.js: appends .rs-e (right edge), .rs-s (bottom edge),
.rs-se (SE grip) handles; tracks mousedown/move/up; enforces minW/minH
- .win.resized flex-column flip: body fills remaining height and scrolls
- Aero grip (3-stripe diagonal, blue); Chrome grip (iridescent purple/cyan/pink)
- Body cursor forced via body.rs-cursor-* classes during drag
CSS in aero.css: chrome overrides for resize handle + full browser window theme
CSS in index.html: resize handle rules, full browser/article reading styles
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- new Articles icon (π) on desktop opens w-browser window
- browser window has URL bar + bookmark bar (library, music list, software)
- fetch()es article HTML, strips Bootstrap stylesheet + navbar, preserves content
- blink tags unwrapped (colored spans preserved for retro feel)
- full aero + chrome theme CSS for url-bar, bookmarks, article typography
- uses DOMParser to cleanly extract body content without iframes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- Add Y2K Chrome / Frutiger Aero two-theme switcher (floating pill, top-right)
- Theme persists via localStorage under 'tyler.theme', no flash on load
- Chrome theme: brushed-metal panels, iridescent titlebar seam, holographic
cursor, blueprint wallpaper, Audiowide/Michroma/Space Grotesk fonts
- Aero theme: upgraded to Plus Jakarta Sans + IBM Plex Mono
- Z-index hygiene: .icons β 10, .win β 50, .bubble-field β 0
- Sparkle cursor is theme-aware (cyanβpink for chrome, warm rainbow for aero)
- Music toggle is theme-aware: bazaar theme (aero) / coolman (chrome),
swaps live if you change theme while music is playing
- Add img/wallpaper-chrome.png (blueprint wallpaper for chrome theme)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
itunes api unreachable from browser on vps. podcast.php fetches
anchor.fm rss server-to-server, parses xml, returns json.
1h cache header to avoid hammering the feed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- add fetchReelMouthFeed() to aero.js using itunes api (id 1709836497)
- replace hardcoded episodes with dynamic #pod-episodes container
- swap in real artwork on load, fallback placeholder until then
- fix links: apple podcasts, anchor.fm rss feed
- lazy-loads on first window open, cached after that
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
adds name + email inputs (api requires them) and POSTs json to the
portfolio's existing contact endpoint. surfaces server errors.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
points the music toggle at /mus/bazaar-theme.mp3 and updates the
label. removes img/bg/* and img/static/* assets that nothing on
disk references, plus the unused mus/lbm.mp3. mmt.mp3 stays since
articles/library.html still embeds it.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
films.tylerhoang.xyz/tyler/api/recent returns stars (0-3), date_watched,
poster_url, director. Wire those through and render 3 stars instead of
5. Escape user-supplied strings.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
replaces the old enter/index pages with a draggable-windows desktop
metaphor. wires last.fm now-playing, films.tylerhoang.xyz diary, and
a php visitor counter; keeps background music via /mus/mmt.mp3.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|