refactoring website https://breaking.yuricunha.com/
  • MDX 88.7%
  • Astro 5.7%
  • TypeScript 5.4%
  • CSS 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
isyuricunha 10ef54c2cb docs: sync architecture, deployment, i18n, and getting started with actual codebase
- Astro 7.0.3 → 7.0.6, Tailwind 4.3.1 → 4.3.2 (architecture.md)
- Add missing [section]/index.astro route to page tree and static routes table
- Replace fictional vercel.json with actual security-headers-only content
- Update production URL yuricunha.com → breaking.yuricunha.com everywhere
- Fix broken doc links (ARCHITECTURE.md → architecture.md, etc.)
2026-07-03 04:01:24 +00:00
.github ci: update dependabot config with github-actions grouping 2026-07-02 21:41:26 +00:00
docs docs: sync architecture, deployment, i18n, and getting started with actual codebase 2026-07-03 04:01:24 +00:00
public fix(seo): update domain and add fallback meta description 2026-07-01 14:50:47 +00:00
scripts chore(deps): safe updates + gray-matter migration 2026-07-02 20:02:38 +00:00
src Revert "perf(animations): use composited properties for animations" 2026-07-01 15:08:25 +00:00
tests chore(content): add legacy migration tooling 2026-06-15 21:04:12 +00:00
.editorconfig feat: build personal Astro website 2026-06-15 04:30:14 +00:00
.env.example feat: build personal Astro website 2026-06-15 04:30:14 +00:00
.gitignore feat: build personal Astro website 2026-06-15 04:30:14 +00:00
.nvmrc feat: build personal Astro website 2026-06-15 04:30:14 +00:00
astro.config.ts fix(seo): update domain and add fallback meta description 2026-07-01 14:50:47 +00:00
migration-report.json feat(content): migrate legacy posts and snippets 2026-06-15 21:05:57 +00:00
package.json chore(deps): patch updates - Astro 7.0.6, MDX 7.0.2, RSS 4.0.19, Tailwind 4.3.2 2026-07-02 22:10:26 +00:00
pnpm-lock.yaml chore(deps): patch updates - Astro 7.0.6, MDX 7.0.2, RSS 4.0.19, Tailwind 4.3.2 2026-07-02 22:10:26 +00:00
pnpm-workspace.yaml ci: relax minimumReleaseAge for astro packages (published today) 2026-07-02 22:13:45 +00:00
README.md docs: update versions after dependency upgrades 2026-07-02 21:14:33 +00:00
TODO.md feat(content): migrate legacy posts and snippets 2026-06-15 21:05:57 +00:00
tsconfig.json feat: build personal Astro website 2026-06-15 04:30:14 +00:00
vercel.json fix: address lighthouse accessibility and security warnings 2026-07-01 14:56:33 +00:00

Yuri Cunha Personal Website

A static personal archive built with Astro, TypeScript, MDX, Astro Content Collections, Astro i18n routing, Tailwind CSS, Shiki, RSS, and Sitemap.

The site is intentionally small. It has no React runtime, database, CMS, authentication, server functions, or visitor-side translation.

Requirements

  • Node.js 24
  • pnpm 11.8

Development

pnpm install
pnpm dev

Run the full local validation:

pnpm check
pnpm test
pnpm build

Content

English is the source locale. Translations are ordinary MDX files stored beside the source:

src/content/blog/example/en.mdx
src/content/blog/example/pt-br.mdx
src/content/blog/example/ja.mdx

Create source files with:

pnpm content:new:post my-post
pnpm content:new:snippet useful-command

Validate frontmatter, locale filenames, translation links, dates, and missing translations:

pnpm content:check
STRICT_I18N=true pnpm content:check

Non-strict validation reports missing translations and exits successfully. Strict validation fails when a published English entry is missing any of pt-br, ja, zh-cn, de, or fr.

Translation Adapter

pnpm content:translate reports missing translations when no adapter is configured. To generate files, configure an external local command:

CONTENT_TRANSLATION_COMMAND=/path/to/translator \
CONTENT_TRANSLATION_ARGS='["--format","mdx"]' \
pnpm content:translate

The command receives one JSON object on stdin:

{
  "collection": "blog",
  "slug": "example",
  "sourceLocale": "en",
  "targetLocale": "ja",
  "sourcePath": "/absolute/path/en.mdx",
  "sourceContent": "---\n..."
}

It must write a complete MDX document to stdout. Existing translations are never overwritten.

Deployment

Vercel detects Astro automatically and deploys the static dist output without an adapter or serverless functions.

  • Framework preset: Astro
  • Install command: pnpm install
  • Build command: pnpm build
  • Output directory: dist
  • Node.js: 24.x

The canonical production URL is https://breaking.yuricunha.com/.

Structure

src/components/       Astro UI and content components
src/content/          Grouped MDX source and translations
src/i18n/             Locale metadata and typed UI dictionaries
src/layouts/          Shared document layout
src/lib/              Content and route helpers
src/pages/            Static and generated routes
scripts/              Content authoring and validation tools
tests/                Node test runner suites

Implementation follows the official Astro documentation, Tailwind Astro guide, and Vercel Astro documentation.