feat: redesign with new typography, /videos route, RSS, SEO - #37
Open
aanogueira wants to merge 57 commits into
Open
feat: redesign with new typography, /videos route, RSS, SEO#37aanogueira wants to merge 57 commits into
aanogueira wants to merge 57 commits into
Conversation
Dependency ReviewThe following issues were found:
License Issuespackage.json
OpenSSF ScorecardScorecard details
Scanned Files
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Typography: - Body font swapped from Fira Code to Inter Variable (mono stays Fira Mono so arrow animations and code blocks are unchanged) - Body font-weight 300 → 400 for proper Inter rendering New routes and content: - /videos index + /videos/[slug] dynamic route with embedded YouTube player (youtube-nocookie); back link to /videos - /videos/rss.xml feed mirroring blog/projects RSS structure - Sample video content file for the welcome placeholder Navigation & UI: - /about rewritten with intro + Phosphor icons on external links (GitHub, LinkedIn, Medium, dev.to, BMC) and a single global RSS link - /contact icons before the platform label - Per-section RSS chip on /blog, /projects, /videos with [N] count - Project carousel arrows hidden when slides fit; per-image aspect ratio (16:9 default, 9:16 for tall variant) - Projects index uses 110rem container, explicit 3/2/1 col grid - Back links: global a.back rule with mono <- arrow that slides on hover - Logo click toggles theme (replaces removed standalone Toggle); h1 text still navigates home - Theme attribute set from prefers-color-scheme on load (no localStorage), console override still possible via setAttribute SEO: - VideoObject JSON-LD added on /videos/[slug] (uses YouTube thumbnail, embed and watch URLs) - PageHead handles absolute image URLs (YouTube thumbnails for video pages) - robots.txt allows /videos/rss.xml - Sitemap includes /videos and per-video URLs - WebSite JSON-LD wired on home page Spacing & polish: - Top spacing unified to 24px from header across every page (index, about/contact, slug pages) - Skip-to-content link background fixed (was referencing undefined --bg-1) - /about icon color matches /contact icon color Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
aanogueira
force-pushed
the
redesign/2026-05
branch
from
July 27, 2026 09:26
35d2633 to
a1cf8ff
Compare
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Enable Svelte 5 component testing: add @testing-library/svelte's svelteTesting() vite plugin (browser resolve condition) and stop test-setup.js from clobbering jsdom's document (removed document.body). Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…off the client Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…en readers Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…ption Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…ler screens Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…ered hero Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
… under the date Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…the post page Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…trance stagger Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…, wrap nav instead of clipping Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…line, no wrap/clip) Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
…out analytics Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
… the flow Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Pixelify Sans clashed with the loop mark, which is drawn with thin, geometric strokes. Point $font-family-display at the mono already used sitewide so there is one type voice, and set the display weight to 500 — bold mono stems read far heavier than the logo sitting next to them. Adds Fira Mono 500/700 faces (only 400 was loaded), drops pixelify-sans.css and its import, and regenerates the OG card to match. Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
All ~icons/ph/* imports resolved locally via an undeclared 420MB @iconify/json in node_modules. CI installs with --frozen-lockfile, so no ph collection was ever present and unplugin-icons failed on the first icon it hit (ph/linkedin-logo). Add the 4.4MB per-collection package instead of the full monolith. Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
The redesign renamed the nav copy in nav.js (Projects->Quests, Blog->Chronicles, Videos->Sagas) and collapsed the nav behind a toggle below 1080px. Two e2e tests still asserted the old labels on an always-visible nav, failing on all five browser projects. Read the labels from nav.js instead of duplicating the copy, and open the dropdown first when it is collapsed. Match the nav link exactly so the 'Tech Quests' wordmark does not collide. Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
Trivy gates PRs on HIGH/CRITICAL and found 10 in the image: 5 in Alpine packages and 5 compiled into the caddy binary. The Alpine ones have fixed packages published for the same release, so apk upgrade fixes them outright (c-ares 1.34.8-r0, curl/libcurl 8.20.0-r0) rather than suppressing them. The Go ones cannot be fixed here: caddy:alpine already resolves to the newest published image (2.11.4, Go 1.26.3) and every fix needs a toolchain upstream has not rebuilt against. Ignore those five with a per-CVE rationale and a note to re-check once Caddy ships a Go 1.26.4 build. Signed-off-by: Andre Nogueira <aanogueira@protonmail.com>
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.
Typography:
New routes and content:
Navigation & UI:
SEO:
Spacing & polish:
Pull Request
Description
Type of Change
Related Issues
Fixes #(issue number)
Related to #(issue number)
Changes Made
Testing
make test)make lint)Test Coverage
Screenshots/Recordings
Checklist
Additional Notes