This portfolio is an open Astro project you can fork and adapt as your own. All content lives in straightforwardDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/LuisAlexis73/alexis-porfolio/llms.txt
Use this file to discover all available pages before exploring further.
.astro pages and Markdown files — there is no CMS or external data source to configure. The sections below cover the most common customizations: adding projects, updating personal information, adjusting the visual style, and deploying to production.
Adding a new project
Projects are stored as individual Markdown files insidesrc/content/projects/. Each file’s frontmatter is validated at build time against the Zod schema defined in src/content/config.ts.
Create a new file
Add a.md file to src/content/projects/. The filename becomes the URL slug (e.g., my-project.md → /projects/my-project).
Frontmatter reference
The following example uses all available fields. Onlytitle and description are required.
Feature a project on the home page
Setfeatured: true in the frontmatter to include the project in the curated grid on the home page (index.astro). Keep featured projects to a small, representative set — the home page is meant to highlight your best work.
Real-world example
Here is the actual frontmatter fromsrc/content/projects/api-rest-nestjs.md:
Cover images should be placed in the
public/images/ directory and referenced with an absolute path starting with /images/. Astro copies everything in public/ to the root of the built site as-is.Updating personal information
Personal content is authored directly in the page files rather than a separate data file. Edit these three files to replace Alexis’s information with your own:| File | What to change |
|---|---|
src/pages/index.astro | Bio text, name, headline, and the featured projects query |
src/pages/about.astro | Skills array, education history, and any personal background copy |
src/pages/experience.astro | Work history entries — employer names, roles, dates, and descriptions |
src/components/Sidebar.astro. Update the href values on the three LinkButton components near the top of the component to point to your own profiles.
Styling
The portfolio uses TailwindCSS v4 integrated as a Vite plugin via@tailwindcss/vite. There is no separate tailwind.config.js — utility classes are applied directly in .astro files.
Color palette
The design is built around a dark neutral base with a yellow accent:| Role | Tailwind token | Usage |
|---|---|---|
| Card / sidebar background | neutral-800 | ProjectCard, Sidebar, Badge backgrounds |
| Subtle borders and tags | neutral-700 | Tag chips, link button borders, sidebar footer border |
| Hover / gradient background | neutral-700 → neutral-900 | Sidebar gradient, hover states |
| Accent | yellow-400 | Active nav link, hover text on LinkButton |
| Badge text | yellow-200 | Text inside the animated Badge component |
yellow-400 and yellow-300 and replace them with your preferred Tailwind color.
Typography
The Onest Variable font is loaded insrc/layouts/MainLayout.astro:
<style> block with a full system-font fallback stack. To switch fonts, install a different @fontsource-variable/* package, update the import, and change "Onest Variable" in the font-family declaration.
View transitions
Native browser view transitions are enabled globally inMainLayout.astro via:
transition:name directives on project cover images in ProjectCard.astro for smooth shared-element transitions between the gallery and detail pages.
Deployment
The live portfolio is hosted on Vercel at https://alexis-galarza-porfolio.vercel.app/.Build for production
dist/ directory as fully static HTML, CSS, and JavaScript. No server runtime is required.
Hosting options
Thedist/ output can be deployed to any static hosting platform:
Vercel
Connect your GitHub repository in the Vercel dashboard. Vercel auto-detects Astro and sets the build command to
astro build and the output directory to dist/.Netlify
Drag and drop the
dist/ folder into Netlify Drop, or connect your repository for continuous deployment with the same build settings.GitHub Pages
Use the official
withastro/action GitHub Action to build and publish the dist/ directory to the gh-pages branch on every push.Any static host
Upload the contents of
dist/ to any CDN or static file server — Cloudflare Pages, AWS S3, Render static sites, and others all work without additional configuration.