No description
Find a file
2026-09-28 19:38:19 -03:00
.vscode initial commit 2026-09-02 20:08:41 -03:00
public plugin4shell post og image regeneration 2026-09-28 15:11:54 -03:00
scripts og images generated 2026-09-28 14:25:21 -03:00
src umami analytics 2026-09-28 19:38:19 -03:00
.env.example og images with cloudflare 2026-09-28 14:03:25 -03:00
.gitignore vercel deploy fix 2026-09-28 14:34:26 -03:00
AGENTS.md initial commit 2026-09-02 20:08:41 -03:00
astro.config.mjs Install Vercel Web Analytics 2026-09-03 00:28:34 +00:00
CLAUDE.md initial commit 2026-09-02 20:08:41 -03:00
logo.png initial commit 2026-09-02 20:08:41 -03:00
mise.toml theme toggle error fixed 2026-09-20 00:29:38 -03:00
package-lock.json Install Vercel Web Analytics 2026-09-03 00:28:34 +00:00
package.json og images with cloudflare 2026-09-28 14:03:25 -03:00
README.md initial commit 2026-09-02 20:08:41 -03:00
tsconfig.json initial commit 2026-09-02 20:08:41 -03:00

gabeefran.co

Personal blog of Gabriel Franco (gabeefranco). Built with Astro, TypeScript, MDX, React, and Tailwind CSS. Bilingual (English / Portuguese) via Astro's built-in i18n routing.

Structure

/
├── public/                     favicon, logo, static assets
├── src/
│   ├── components/             Astro + React components (Header, PostCard, ObservationCard, ...)
│   ├── content/posts/en/*.mdx  English posts
│   ├── content/posts/pt/*.mdx  Portuguese posts (same filename pairs a translation)
│   ├── layouts/                BaseLayout, PostLayout
│   ├── lib/                    i18n dictionary + post helpers
│   └── pages/                  routes: "/" is English (default locale), "/pt/*" is Portuguese
└── astro.config.mjs

Every post exists as two files with the same slug — src/content/posts/en/<slug>.mdx and src/content/posts/pt/<slug>.mdx — so the language switcher can always land on the matching translation.

Commands

Command Action
npm install Install dependencies
npm run dev Start the dev server at localhost:4321
npm run build Build the production site to ./dist/
npm run preview Preview the production build locally
npm run astro check Type-check the project