Software engineering blog — built with Astro 5, MDX & Tailwind CSS v4
Free and open source software
A personal blog focused on software engineering — performance, architecture, tooling, and the craft of building software. Written in Portuguese, aimed at developers of all levels.
- Framework: Astro 5
- Content: MDX with Astro Content Collections v3
- Styling: Tailwind CSS v4 (CSS-first, no config file)
- Animation: framer-motion (page transitions & scroll reveals)
- Deploy: Netlify
npm install
npm run dev # localhost:4321
npm run build # static output → dist/
npm run preview # preview the built site- Create a
.mdxfile insrc/content/blog/ - The filename becomes the URL slug (e.g.
hello-world.mdx→/blog/hello-world) - Add frontmatter:
title: "Post Title"
description: "Brief description"
pubDate: 2026-01-01
updatedDate: 2026-01-10 # optional
draft: false # omit or set to true to hide from listing- Restart the dev server — routing is automatic
You can submit your own article by opening a pull request. Follow the steps below:
- Fork the repository and create a new branch
- Create a
.mdxfile undersrc/content/blog/with a descriptive slug name (e.g.meu-artigo.mdx) - Add frontmatter at the top of the file (see schema above)
- Write your article in Markdown with MDX — you can use JSX components, code blocks, tables, images, and more
- Preview locally (optional but recommended): run
npm install && npm run devand openhttp://localhost:4321 - Open a pull request against the
mainbranch
Check existing posts in
src/content/blog/for reference on style and structure.
src/
├── content/blog/ # MDX posts
├── content/config.ts # Content schema (Zod)
├── layouts/ # BaseLayout.astro
├── components/ # Reusable components
├── pages/ # Routes
├── styles/global.css # Tailwind @theme + OKLCH tokens
└── scripts/ # Client-side JS
Contributions are welcome! This is an educational project — feel free to open issues, suggest improvements, or submit PRs.
MIT — see the LICENSE file.