# Gustavo Portfolio — Tema WordPress

Tema WordPress clássico para o portfólio e blog de **Gustavo Oliveira** — [gustavoo.me](https://gustavoo.me)

## Screenshot

![Theme Screenshot](wp-content/themes/gustavoo-portfolio/screenshot.png)

## Sobre

Tema WordPress clássico desenvolvido para o portfólio pessoal e blog de Gustavo Oliveira, desenvolvedor Full Stack Sênior. O tema foi construído com foco em performance, acessibilidade e experiência do usuário, utilizando as melhores práticas do WordPress moderno.

## Características

- **Tema Clássico** — Template hierarchy tradicional do WordPress
- **Theme.json** — Configuração completa de estilos via theme.json (cores, tipografia, espaçamento, bordas)
- **Blocos Nativos** — Suporte completo a blocos do Gutenberg
- **Fluent Forms + FluentCRM** — Integração nativa para formulários e newsletter
- **Portfólio de Projetos** — CPT customizado para exibição de projetos
- **Newsletter Widget** — Widget personalizado para FluentCRM
- **SEO Ready** — Estrutura semântica e meta tags otimizadas
- **Performance** — Assets otimizados, fontes variáveis (Inter Variable), lazy loading nativo

## Stack

- **WordPress** 6.5+
- **PHP** 8.1+
- **Theme.json** v3
- **Inter Variable Font** (local, self-hosted)
- **Fluent Forms** + **FluentCRM** (integração via plugin complementar)
- **Docker Compose** para desenvolvimento local

## Estrutura do Tema

```
gustavoo-portfolio/
├── assets/
│   └── fonts/          # Inter Variable Font (woff2)
├── inc/
│   ├── customizer.php  # Personalizador do tema
│   ├── defaults.php    # Configurações padrão (theme.json fallback)
│   ├── enqueue.php     # Assets e estilos
│   ├── forms.php       # Integração Fluent Forms
│   ├── setup.php       # Configuração do tema
│   ├── template-tags.php  # Template tags auxiliares
│   └── widgets.php     # Widget Newsletter (FluentCRM)
├── template-parts/     # Partes de template reutilizáveis
├── 404.php
├── archive.php
├── category.php
├── comments.php
├── footer.php
├── front-page.php      # Página inicial customizada
├── functions.php       # Bootstrap do tema
├── header.php
├── home.php
├── index.php
├── page.php
├── search.php
├── searchform.php
├── sidebar.php
├── single.php
├── screenshot.png      # Screenshot do tema (theme.png)
├── style.css           # Stylesheet principal (metadados do tema)
└── theme.json          # Configuração global de estilos
```

## Plugin Complementar

O tema funciona em conjunto com o plugin **Gustavo Portfolio Core** (`wp-content/plugins/gustavoo-portfolio-core`), que provê:

- **CPT Projetos** — Post type customizado para portfólio
- **Configurações Globais** — Opções de hero, sobre, projetos, blog, contato, newsletter e redes sociais
- **Seeder** — Criação automática de páginas, formulários Fluent Forms e feeds FluentCRM
- **Widget Newsletter** — Widget para exibir formulário de newsletter no sidebar

## Desenvolvimento Local

### Pré-requisitos

O tema e plugin dependem dos seguintes plugins WordPress (instalados e ativados):

- **Fluent Forms** — Formulários de contato e newsletter
- **FluentCRM** — Automação de marketing e newsletter

```bash
# Subir ambiente Docker
docker compose up -d

# Acessar WordPress
# http://localhost:8080
# Usuário: admin | Senha: admin (definido no .env)

# Instalar dependências (plugins obrigatórios)
# 1. Acesse http://localhost:8080/wp-admin
# 2. Plugins → Adicionar novo → Busque e instale:
#    - Fluent Forms
#    - FluentCRM
# 3. Ative ambos os plugins

# Logs
docker compose logs -f wordpress
```

## Deploy

O tema está preparado para deploy em ambientes WordPress padrão (VPS, shared hosting, WP Engine, Kinsta, etc.).

1. Faça o build dos assets se necessário
2. Faça deploy da pasta `wp-content/themes/gustavoo-portfolio/`
3. Ative o tema no painel WordPress
4. Ative o plugin **Gustavo Portfolio Core**
5. Execute o seeder (Configurações → Portfólio → "Executar Seeder") para criar páginas e formulários padrão

## Licença

GNU General Public License v2 ou posterior — mesmo licença do WordPress.

---

**Desenvolvido por [Gustavo Oliveira](https://gustavoo.me)** — Desenvolvedor Full Stack Sênior