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.2
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.2.tar.gz | 641.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| portulong-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / portulong-0.0.2.tar.gz
| Download URL | portulong-0.0.2.tar.gz |
|---|---|
| Size | 641.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1118c06f167eee284b6edb867be5b6a84b714fc635f9c5aa4b9f6f68198d5663
|
|
BLAKE2b-256 checksum How to use checksums |
7bb0dea9ab2178fccf19b48a76004e73c810e14e2b72e72172f637daecc16677
|
| 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.2-py3-none-any.whl
| Download URL | portulong-0.0.2-py3-none-any.whl |
|---|---|
| Size | 642.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fc8f40d475f97a7208e26153c8358d02bb050ff2feec78c49769546604a273b
|
|
BLAKE2b-256 checksum How to use checksums |
f99ded4e45fb9541a27003b2b7bb0658bcf0e7d593bd39db0ca8ead660ccc27f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.22
|