Repository navigation
feat(home): sectioned static front page with games and a Nuxt Content blog - #236
Merged
Merged
Conversation
kashalls
added this pull request to stack #238
October 5, 2026 02:58
kashalls
force-pushed
the
feat/game-cards-next
branch
from
October 5, 2026 03:17
1ff0b7d to
daa35c8
Compare
…ource - Size the banner box to Discord's banner shape (3:1, capped at 160px) instead of a fixed 96px height, which cropped most of the image once the card got wider in the new layout. - Request the 1024px banner so it stays sharp in wide panels. - The profile now comes from juno (bot-safe user object), not the dstn proxy, so update the comment. Signed-off-by: Jordan Jones <git@svcs.ok8.sh>
… blog Front page - Replace the draggable window desktop with a static grid: remove GSAP Draggable, the window registry and saved layout, window controls, Dock, Windows menu and reset-layout button. Panels are plain titled cards. - Remove Lenis (native scrolling) and the now-unused gsap and lenis dependencies. - Add a proximity glow: a purple border highlight that follows the cursor across nearby cards (mouse only). - Organise the page into About / Writing / Live / Games sections, with a bottom-bar nav that scrolls to each and tracks the one in view. - Remove the "Me" placeholder; fold location and certifications into Hello There; Technologies gains OpenShift, Talos, Podman, Elixir (learning) and an Artificial Intelligence group, and strikes through retired tech with a tooltip. - Move the WoW and Overwatch cards to the front page as UiPanels (no accent stripe), side by side from 2xl; remove the /games page. Blog - Add @nuxt/content with a blog collection (content/blog/*.md: title, description, date, tags, draft), /blog via UBlogPosts and /blog/<slug> via ContentRenderer, crawled for prerendering. - Latest Posts and topic post counts on the front page read the collection. - Use Node's built-in node:sqlite connector, and copy Node 22 into the bun build stage: Bun lacks node:sqlite, so building under it would bake a bun:sqlite adapter into the Node server. Fixes - @nuxt/fonts prefix was 'public/_fonts/', so Google fonts (Inter, Cinzel, Teko, Caveat) 404'd in production builds; use '/_fonts/'. - Show post dates on the day written instead of shifting a day west of UTC. Signed-off-by: Jordan Jones <git@svcs.ok8.sh>
With the prefix at /_fonts/, @nuxt/fonts' dev handler owns that path and shadows the local PP Neue Machina files in public/_fonts/, so they 404 under nuxt dev. Give downloaded fonts their own path so both resolve in dev and production. Signed-off-by: Jordan Jones <git@svcs.ok8.sh>
kashalls
force-pushed
the
feat/game-cards-next
branch
from
October 5, 2026 03:19
daa35c8 to
30c8263
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #235 (base
feat/game-cards). Once #235 merges, retarget this tomain.Summary
Front page
gsapandlenisdependencies dropped.UiPanels (no coloured accent stripe), side by side from2xl;/gamesis removed.Blog (Nuxt Content)
@nuxt/content3.16 with ablogcollection:content/blog/<slug>.mdwithtitle,description,date,tags,draft./bloglists posts withUBlogPosts/UBlogPost;/blog/<slug>renders withContentRenderer. Both prerender (link crawling), including OG images.hello-world.md: replace or setdraft: truebefore shipping.Discord card
Deployment notes
sqliteConnector: 'native'(Node's built-innode:sqlite), so the distroless runtime needs no native addon.node:22-slim. Bun doesn't implementnode:sqlite, and building under Bun would bake abun:sqliteadapter into the Node server. Withnodeon PATH,bun run buildruns the nuxt CLI under Node. Not verified with an actual Docker build (no Docker locally); verified the equivalent locally: the built server references onlynode:sqliteand serves/blog, posts, and runtime DB queries (unknown post → 404).@nuxt/fontsassets.prefixwas'public/_fonts/', so every Google font (Inter, Cinzel, Teko, Caveat) 404'd in production builds and fell back to system fonts. Now'/_webfonts/': using'/_fonts/'would let the @nuxt/fonts dev handler shadow the local PP Neue Machina files inpublic/_fonts/undernuxt dev. This also affects feat(games): add games page with wow and overwatch cards #235's game-card fonts, so they're only correct once this lands.bun.lockbis updated (it's what the Dockerfile and builds use).package-lock.jsononly dropsgsap/lenis; it does not include@nuxt/content, since regenerating it re-resolves hundreds of unrelated packages and nothing in CI or the Dockerfile reads it.Testing
bun run buildpasses; 14 routes prerendered including/blogand/blog/hello-world.node .output/server/index.mjs):/,/blog,/blog/hello-world200, unknown post 404, no failed requests; Inter/Cinzel/Teko.woff2served 200.