Replace Quartz with the Astro site (i.usedtocode.com cutover) - #18
Merged
Conversation
The i.usedtocode.com Astro build (anibal/website@57815a2) replaces the Quartz static site. Hosting stays GitHub Pages; deploy.yml (new) builds and deploys on push to main, ci.yml keeps the Lighthouse ship gates. Old Quartz URLs keep working: legacyStubs build integration writes 71 meta-refresh+canonical stubs, /index.xml + /sitemap.xml feed copies, and the old OG images are committed byte-identically under public/. Quartz history remains below this commit for rollback archaeology.
Pre-existing debt surfaced by the migration branch's first CI runs (branch pushes never triggered CI): Lighthouse 12.6.1 fails target-size on the header (.wordmark 17.7px, .cli-item 16.2px boxes, rows 5px apart) and label-content-name-mismatch on the wordmark (aria-label lacked the visible ~/anibal-rojas text). Fix: padding-block 5px on .wordmark/.cli-item (boxes ≥26px at every breakpoint; baseline rows keep every label in place), aria-label now leads with the visible text. Validated locally (devtools throttling): /es/contacto/ and the ñ post score a11y 1, perf 1.
… avif Pre-existing debt surfaced by the migration branch's first CI runs: the about/sobre-mi portrait is the LCP element but carried loading="lazy" — 69% of LCP was load delay (the in-viewport image's download started 1.6s in). - AboutPage: portrait eager + fetchpriority=high + head preload (imagesrcset 1x/2x) so the fetch starts with the head, not when the scanner reaches the img. - Recompressed the portrait avifs (560x700 q40: 20.2→8.1KB; 280x350 q50: 7.1→4.7KB) — indistinguishable at 280 CSS px; git keeps the originals. - Base: font preloads fetchpriority=low — fonts are font-display: optional (they never block render or LCP; slow connections render the metric-matched fallback by design), so under contention the LCP image wins the pipe. Full local gate: 11 URLs × 3 runs, all assertions pass (about LCP ≈1.44s local, CI ran ~35ms faster than local on identical code).
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.
Migrates the full Astro site from
anibal/website@57815a2into this repo, replacing the Quartz build. This repo keeps serving i.usedtocode.com via GitHub Pages — DNS is already a Namecheap CNAME toanibal.github.io, so merging this PR is the cutover.What changes
src/,public/,scripts/,brain/,reference/, docs)..github/workflows/deploy.yml(new): build →upload-pages-artifact→deploy-pageson push tomain.ci.yml(Lighthouse ship gates) unchanged.public/CNAMEkeeps the custom domain bound through repo re-wipes.Legacy URL surface (SEO continuity)
GH Pages serves static files only — no
_redirects. The old Quartz URLs keep working via:legacyStubsbuild integration (src/lib/legacy-stubs.mjs): 71 meta-refresh + canonical stubs (10 post.htmltwins, year/month/day archive folders, 47 tag pages) +/index.xmland/sitemap.xmlfeed copies.public/(hash-verified against live):static/og-image.png,index-og-image.webp, 10 per-post*-og-image.webp./dir→/dir/./draft/*(noindex), NFD ñ alias (404'd on the old site too).scripts/verify-migration.mjsasserts the whole surface against production after merge. Plan + record:DEPLOY-GITHUB-PAGES.md.