Gabriel Vidal 29ca09a959 feat(tags): consolidate the tag taxonomy and rebuild /tags as a real index
Fix two casing duplicates that silently fragmented the tag cloud
(Typescript -> TypeScript, Html -> HTML), add src/data/tags.ts as the
single source of truth for every tag's canonical label + description,
validate post frontmatter against it in the zod schema (unknown tag/tech
now fails the build), and rebuild /tags as a real grouped index (Topics /
Technologies, sorted by usage) instead of the undescribed word-cloud list.
Per-tag pages now show the canonical label and description instead of the
raw slug.
2026-08-10 04:00:43 +02:00
2023-03-02 18:44:53 +01:00
v0
2023-03-02 16:04:37 +01:00
v0
2023-03-02 16:04:37 +01:00
v0
2023-03-02 16:04:37 +01:00
2023-03-03 13:54:14 +01:00

Blog

My personal website / blog — live at blog.dev.gabvdl.xyz.

Built with Astro (based on the astro-ink theme): MDX posts, client-side search (Lunr), tags, RSS and a sitemap.

Develop

yarn
yarn dev             # astro dev
yarn build           # static build → dist/ (+ postbuild search index)
yarn preview

Posts live under src/content/blog/ (src/pages/blog/ holds the routes that render them); drafts under src/drafts/. The public URL and canonical/sitemap origin are set via site in astro.config.mjs.

Deploy

npm run deploy       # build + rsync dist/ to zipgo on raspy2

scripts/deploy.sh uses the zipgo deploy CLI to mirror dist/ into domains/gabvdl.xyz/dev./blog. on the remote, which serves https://blog.dev.gabvdl.xyz over Let's Encrypt HTTPS. The host → folder map also lives in package.json under zipgo.deploy.

There is no CI. The old GitHub Pages workflow was deleted — it triggered on a long-dead branch and had not been publishing this site for a long time.

Remotes

origin is the self-hosted Gitea at git.gabvdl.xyz/gabrielvidal/blog — that is the canonical repo. github remains as a secondary mirror of the old GabrielVidal1/gabrielvidal1.github.io repository; push there too if you want it kept in sync, but nothing depends on it.

Description
Personal website / blog, built with Astro (blog.dev.gabvdl.xyz)
https://blog.dev.gabvdl.xyz
Readme MIT 265 MiB
Languages
JavaScript 27.1%
Astro 25.1%
TypeScript 16.6%
CSS 15.9%
MDX 13.3%
Other 2%