franklinbaldo/franklinbaldo.github.io

Personal knowledge base and blog built with Astro and Pico.css.

0

stars

3,530

commits

MDX

primary language

Sep 11, 2026

updated

Browse cluster: Interactive product tours and onboarding UI

README

franklinbaldo.github.io

Personal blog and digital garden of Franklin Baldo. Built with Astro 7 and Pico.css v2.

Live site: https://franklinbaldo.github.io/

What lives here

The repository powers more than a chronological blog. Its public surface currently includes:

Hrönir is both repository machinery and a public-facing curation artifact: the evaluation data lives in .routines/hronir/, while the resulting ranking is published on the site.

Stack

  • Astro 7 with @astrojs/mdx
  • Pico.css v2 (semantic, classless-ish CSS)
  • Typography: Fraunces (body) / Inter (UI) via @fontsource
  • astro:assets for image optimization (heroes generate responsive WebP)
  • Hrönir — pairwise post-ranking system. See CLAUDE.md for the full operating manual.

Commands

CommandAction
npm installInstall dependencies
npm run devStart dev server at localhost:4321
npm run buildBuild production site to ./dist/
npm run previewPreview the built site locally
npm run check:hygieneRepo hygiene (root files, lockfile, etc.)
npm run hronir:rankingPrint current Hrönir ranking

Requires Node >=24.0.0 (see package.json#engines).

Project layout

src/
├── components/        Astro components
├── content/
│   └── blog/          Posts (.md/.mdx) — slug = filename = URL
├── content.config.ts  Zod schema for the blog collection
├── lib/               Build-time TypeScript helpers
└── pages/             Routes (bilingual: / and /pt/)

scripts/
├── hronir/            Hrönir CLI and rating engine
├── lib/               Shared helpers (content.mjs, blog-links.mjs)
└── oneoff/            One-shot scripts, not part of the build

docs/
├── rfcs/              RFC documents (0001 …)
├── plans/             Planning documents
└── reviews/           Session reviews

.routines/
└── hronir/            Rate files produced by Hrönir sessions (committed)

Feeds

RSS feed at /rss.xml, generated from the blog collection via @astrojs/rss.

Notes on the modernization migration

A couple of legacy standalone routes were dropped during the Astro modernization:

  • /encrypt.html — static page-encryption demo.
  • /vault/ — unmaintained landing page.

If you depended on either, open an issue.

Contributors

franklinbaldo

1,347 commits

claude

1,343 commits

franklinbaldo/franklinbaldo.github.io

Personal knowledge base and blog built with Astro and Pico.css.

0

stars

3,530

commits

MDX

primary language

Sep 11, 2026

updated

Browse cluster: Interactive product tours and onboarding UI

README

franklinbaldo.github.io

Personal blog and digital garden of Franklin Baldo. Built with Astro 7 and Pico.css v2.

Live site: https://franklinbaldo.github.io/

What lives here

The repository powers more than a chronological blog. Its public surface currently includes:

Hrönir is both repository machinery and a public-facing curation artifact: the evaluation data lives in .routines/hronir/, while the resulting ranking is published on the site.

Stack

  • Astro 7 with @astrojs/mdx
  • Pico.css v2 (semantic, classless-ish CSS)
  • Typography: Fraunces (body) / Inter (UI) via @fontsource
  • astro:assets for image optimization (heroes generate responsive WebP)
  • Hrönir — pairwise post-ranking system. See CLAUDE.md for the full operating manual.

Commands

CommandAction
npm installInstall dependencies
npm run devStart dev server at localhost:4321
npm run buildBuild production site to ./dist/
npm run previewPreview the built site locally
npm run check:hygieneRepo hygiene (root files, lockfile, etc.)
npm run hronir:rankingPrint current Hrönir ranking

Requires Node >=24.0.0 (see package.json#engines).

Project layout

src/
├── components/        Astro components
├── content/
│   └── blog/          Posts (.md/.mdx) — slug = filename = URL
├── content.config.ts  Zod schema for the blog collection
├── lib/               Build-time TypeScript helpers
└── pages/             Routes (bilingual: / and /pt/)

scripts/
├── hronir/            Hrönir CLI and rating engine
├── lib/               Shared helpers (content.mjs, blog-links.mjs)
└── oneoff/            One-shot scripts, not part of the build

docs/
├── rfcs/              RFC documents (0001 …)
├── plans/             Planning documents
└── reviews/           Session reviews

.routines/
└── hronir/            Rate files produced by Hrönir sessions (committed)

Feeds

RSS feed at /rss.xml, generated from the blog collection via @astrojs/rss.

Notes on the modernization migration

A couple of legacy standalone routes were dropped during the Astro modernization:

  • /encrypt.html — static page-encryption demo.
  • /vault/ — unmaintained landing page.

If you depended on either, open an issue.

Contributors

franklinbaldo

1,347 commits

claude

1,343 commits

Languages

MDX

35.8%

Astro

24.5%

TypeScript

21.3%

JavaScript

12.8%

CSS

2.5%

Python

2.3%