Site pessoal — portfólio, CV e links profissionais.
Stack: Astro + Tailwind CSS v4 + TypeScript. Deploy automático no GitHub Pages com domínio custom julianamarques.dev.
- Bilíngue (pt-br / en) com toggle no canto superior — rotas:
/(pt) e/en/. - Tema claro/escuro com toggle e respeito a
prefers-color-scheme. - CV e portfólio em página única com sidebar fixa e scroll-spy.
- Conteúdo todo gerado a partir de dados estruturados em
src/data/. - Sitemap, OpenGraph, canonical URL, skip-link de acessibilidade.
npm install
npm run dev # http://localhost:4321npm run build # gera dist/
npm run previewPush em master dispara .github/workflows/deploy.yml, que builda e publica em GitHub Pages.
Tudo é tipado em TypeScript — o editor avisa se algo estiver fora do padrão.
- Perfil, contatos, stack, experiência, educação:
src/data/profile.ts - Projetos exibidos na home:
src/data/projects.ts— adicione/remova entradas no arrayprojects. Cada projeto precisa dename,url,description(pt + en) e opcionalmentelanguage+languageColor. - Traduções de labels da UI:
src/i18n/ui.ts - CV em PDF: colocar em
public/cv.pdf— o botão "Baixar CV" aponta pra esse caminho. - Tokens de cor / tipografia:
src/styles/global.css(:rootlight,.darkpara o tema escuro)
Edite src/data/projects.ts:
{
name: 'meu-novo-projeto',
url: 'https://github.com/julianamarques/meu-novo-projeto',
description: {
pt: 'O que o projeto faz.',
en: 'What the project does.',
},
language: 'TypeScript',
languageColor: '#3178c6',
},Salvar → o npm run dev recompila sozinho.
src/
components/ # Sidebar, RepoCard, HomePage, toggles, Icon
data/ # profile.ts (CV) e projects.ts (portfólio)
i18n/ui.ts # Traduções pt/en e helpers
layouts/ # BaseLayout
pages/ # Rotas pt na raiz, en em /en/
styles/global.css # Tokens de design e tema
public/ # Favicon, logo, CNAME, robots.txt, cv.pdf