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