Metadata-Version: 2.4
Name: portulong
Version: 0.0.3
Summary: Linguagem 100% PT-PT para desenvolvimento web — interpretador, servidor e extensão VS Code integrados.
Author: Silvio
Author-email: silvio@portulong.dev
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: discord
Requires-Dist: discord.py>=2.0.0; extra == "discord"
Provides-Extra: supabase
Requires-Dist: supabase; extra == "supabase"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: vsce; extra == "dev"
Dynamic: author-email
Dynamic: license-file
Dynamic: requires-python

# Portulong v0.0.2 (Professional Web Edition)

Linguagem de programação **100% em Português de Portugal** para criar páginas web e aplicações completas com interpretador, servidor integrado e extensão VS Code — tudo num único ficheiro `.ptg`.

## 🚀 Instalação

```bash
pip install portulong
```

### Configurar VS Code (automático)

```bash
ptg config
```

Instala automaticamente a extensão VS Code embutida no pacote, configura syntax highlighting, snippets e linter.

## 💻 Comandos CLI

| Comando | Descrição |
|---------|-----------|
| `ptg <ficheiro.ptg>` | Executa e interpreta um ficheiro |
| `ptg rodar <ficheiro.ptg>` | Alias para executar um ficheiro |
| `ptg <ficheiro.ptg> --servidor` | Inicia o servidor web integrado |
| `ptg config` | Instala extensão VS Code + configurações |
| `ptg instalar discord` | Instala discord.py |
| `ptg instalar supabase` | Instala cliente Supabase |
| `ptg instalar biblioteca <nome>` | Instala qualquer pacote PyPI |
| `ptg ajuda` | Manual completo em português |
| `ptg atualizar` | Atualiza para a última versão |
| `ptg var` | Calculadora interativa |

## 🎯 Exemplo Nike Showcase

Um website estilo landing page / showcase moderno (estilo Nike: preto, branco, cinzento) com navegação por abas, animações e SPA total:

```bash
ptg rodar exemplo_nike.ptg
```

## 📝 Sintaxe 100% PT-PT

### Estrutura
```ptg
pagina "Minha Pagina"
servidor:
    porta 3000
    computador local
fim_servidor
```

### Backend e Dados
```ptg
supabase:
    url "https://teu-projeto.supabase.co"
    chave "tua-chave-api"
fim_supabase

rota GET /api/contagem:
    resposta = {"total": 42, "ativos": 38}
fim_rota
```

### SPA Multi-ecras
```ptg
tela "inicio":
    caixa "hero":
        titulo2 "Bem-vindo"
        botao "Ver Produtos" acao "mostrar_tela('produtos')"
    fim_caixa
fim_tela

tela "produtos":
    titulo2 "Catálogo"
    botao "Voltar" acao "mostrar_tela('inicio')"
fim_tela
```

### CSS em Português (Liberdade Total)
```ptg
estilo:
.hero {
    fundo: preto;
    cor: branco;
    opacidade: 0.9;
    transicao: todos 0.3s suave;
    transformar: escorregarY(-5px);
    animacao: pulse 2s infinito;
}

@keyframes pulse {
    0% { opacidade: 0.6; }
    50% { opacidade: 1; }
    100% { opacidade: 0.6; }
}

@media (max-width: 768px) {
    .hero { espacamento: 15px; }
}
fim_estilo
```

### Lógica e Script
```ptg
script:
funcao carregar_dados():
    escrever("Portulong carregado!")
fim_funcao
fim_script
```

## 🎨 Extensão VS Code

### Recursos
- **Syntax Highlighting** — Cores para blocos, UI, CSS, lógica
- **Snippets Inteligentes** — `ptg-base`, `ptg-animacao`, `ptg-media`, `ptg-supabase`
- **Abreviaturas** — `cx` → `caixa`, `bt` → `botao`, `t1` → `titulo1`
- **Linter** — Blocos não fechados + palavras em inglês
- **Hover Tooltips** — Explicações em português
- **Quick-Fix** — Corrige inglês → PT-PT com 1 clique
- **Color Decorators** — Seletores visuais de cor
- **Auto-indentação** — Aumenta/recua automático

## 📦 Desenvolvimento

```bash
git clone https://github.com/silvio-blip/portulong.git
cd portulong
pip install -e .
ptg rodar exemplo_nike.ptg
```

## 📤 Publicar no PyPI

A publicação é automática via GitHub Actions quando há push para `main`.

Manualmente:
```bash
python -m build
twine upload dist/*
```

## 📄 Licença

MIT
