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
pip install portulong
Configurar VS Code (automático)
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:
ptg rodar exemplo_nike.ptg
📝 Sintaxe 100% PT-PT
Estrutura
pagina "Minha Pagina"
servidor:
porta 3000
computador local
fim_servidor
Backend e Dados
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
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)
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
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
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:
python -m build
twine upload dist/*
📄 Licença
MIT
Metadata
Release files for portulong 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| portulong-0.0.6.tar.gz | 3.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| portulong-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 MB
Release files / portulong-0.0.6.tar.gz
| Download URL | portulong-0.0.6.tar.gz |
|---|---|
| Size | 3.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62d6e49771044570015c66e3f6a3d9a24faf6085b85e58b2c3ab4e7c08851a6c
|
|
BLAKE2b-256 checksum How to use checksums |
a80d0e8c413d5a66cd973263fb41b7c38308a38be3f408e01fae2245adf15152
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|
Release files / portulong-0.0.6-py3-none-any.whl
| Download URL | portulong-0.0.6-py3-none-any.whl |
|---|---|
| Size | 3.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8796b870b4e6f208f8b05dea210f79c796cc9840320469b3d1f4157ba647255e
|
|
BLAKE2b-256 checksum How to use checksums |
61cbbbf24ece95b4572cc879c5d31c0ceba665c9bc65ab6cab0835ab98063295
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|