Personal website and blog for Abel Osorio, built as a static Vite + React site.
Install dependencies:
npm ciRun the local dev server:
npm run devVerify the codebase:
npm run verify
npm run type-checkSite profile, services, projects, experience, and social links live in src/content/site.ts.
Blog posts live in src/content/posts. Each post uses frontmatter:
---
title: My post
date: 2026-05-01
description: Short summary.
tags: ios, product
slug: my-post
published: true
---The contact form is wired to Formspree through site.formspreeEndpoint in src/content/site.ts.
The site is configured for dual-deployment:
Deploy the site on Vercel as a static Vite project.
Recommended Vercel settings:
Framework Preset: Vite
Build Command: npm run build
Output Directory: dist
Install Command: npm ciThe site is automatically deployed to GitHub Pages via GitHub Actions when pushing to the master branch.
Note: In the repository settings under Pages, ensure the Source is set to GitHub Actions.
Recommended DNS records for Vercel:
A osorioabel.dev 76.76.21.21
CNAME www cname.vercel-dns.com