Módulo de componentes utilizado nos portais ENAP, desenvolvido com Wagtail + CodeRedCMS
Project description
📦 Enap Design System - Módulo para Wagtail
Este é um módulo customizado para o Wagtail, criado para facilitar a implementação de layouts e componentes reutilizáveis no CMS.
🛫 Readme para desenvolvimento local do módulo:
Acesse o readme aqui README.md
📌 Recursos
- 📄 Layouts Reutilizáveis
- 🎨 Estilos e Scripts organizados em
/static/enap_designsystem/ - 🦴 Templates organizados em
/templates/enap_designsystem/ - 🛠️ Extensível e fácil de personalizar
- 🔌 Compatível com Django (3.2+), Wagtail (6.4+) e Codered Extensions (4.1+)
🚀 Instalação
Para instalar este módulo no seu projeto Wagtail, use:
pip install enap-designsystem
Se estiver usando um repositório privado no TestPyPI, instale com:
pip install --index-url https://test.pypi.org/simple/ enap-designsystem
⚙️ Configuração no Django/Wagtail
1️⃣ Adicione no INSTALLED_APPS no settings.py do seu projeto Wagtail:
INSTALLED_APPS = [
...
"enap_designsystem",
]
2️⃣ Adicione a configuração para carregar os arquivos estáticos:
import os
import enap_designsystem
STATICFILES_DIRS = [
os.path.join(os.path.dirname(enap_designsystem.__file__), "static"),
]
3️⃣ Rode as migrações:
python manage.py makemigrations enap_designsystem
python manage.py migrate
4️⃣ Rode o collectstatic para garantir que os arquivos CSS/JS sejam carregados corretamente:
python manage.py collectstatic
📄 Como Usar os Layouts no Wagtail
Criando uma Página Usando MainLayout
Após a instalação, vá para o Admin do Wagtail e crie uma página baseada em MainLayout ou MidLayout.
Exemplo de Uso no Template
Se precisar usar os estilos e scripts dentro de um template customizado:
{% extends "base.html" %}
{% load static %}
{% block content %}
<link rel="stylesheet" href="{% static 'enap_designsystem/css/main_layout.css' %}">
<script src="{% static 'enap_designsystem/js/scripts.js' %}"></script>
<div class="main-layout">
<h1>{{ page.title }}</h1>
<div class="content">
{{ page.content|safe }}
</div>
</div>
{% endblock %}
🛠️ Como funciona o ambiente de desenvolvimento (enap_designsystem)
-
A pasta
enap_designsystemé responsável pelo código a ser exportado para o pypi.org -
Nessa pasta existem diversas configurações como
apps.py,models.py,hookspara wagtail earquivos staticetemplates html -
Subindo nova versão:
Atualize ou crie seu "C:\Users\[USER]\.pypric"
testpypi é para testes, versões oficiais estarão no pypi.org
[distutils]
index-servers =
testpypi
[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = [COLOQUE O TOKEN AQUI]
- apague (se houver) pasta /dist e *.egg-info
- re-faça o build "python -m build"
- envie com twine: "twine upload --repository testpypi --config-file C:\Users\[USER]\.pypric dist/*"
📗 SemVer (versionamento semântico)
- Este projeto segue o versionamento semântico (SemVer.org), utilizando o formato:
MAJOR.MINOR.PATCH
✅ 1️⃣ Quando mudar cada número?
| Tipo de Mudança | Exemplo | Motivo |
|---|---|---|
PATCH (X.Y.Z+1) |
1.0.0 → 1.0.1 |
Correção de bugs, sem impacto na compatibilidade |
MINOR (X.Y+1.0) |
1.0.0 → 1.1.0 |
Nova funcionalidade compatível com versões anteriores |
MAJOR (X+1.0.0) |
1.0.0 → 2.0.0 |
Mudança incompatível, pode quebrar código existente |
✅ 2️⃣ Exemplos práticos
| Mudança | Nova Versão |
|---|---|
| Corrigiu um bug sem alterar a API | 1.0.0 → 1.0.1 |
| Adicionou uma nova funcionalidade sem quebrar compatibilidade | 1.0.0 → 1.1.0 |
| Removeu ou alterou algo que quebra compatibilidade | 1.0.0 → 2.0.0 |
📢 Dúvidas ou Sugestões?
Caso tenha dúvidas ou queira contribuir, abra uma issue no GitLab ou envie um Merge Request! 🚀
📜 Licença
Este projeto é licenciado sob a MIT License. Veja o arquivo LICENSE para mais detalhes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wagtail_enap_designsystem-1.0.4.tar.gz.
File metadata
- Download URL: wagtail_enap_designsystem-1.0.4.tar.gz
- Upload date:
- Size: 120.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf6dbb91f8e1636e00d8993c3543ae83e38113557dcb1a3bfe42bd2fc3401029
|
|
| MD5 |
f58132882d24a1f8ff6bbe89ebeaeb85
|
|
| BLAKE2b-256 |
0eb463164f7b284bbd5f2ff031f5ed2413c2d8db21a783bfb6ace3f7fb423716
|
File details
Details for the file wagtail_enap_designsystem-1.0.4-py3-none-any.whl.
File metadata
- Download URL: wagtail_enap_designsystem-1.0.4-py3-none-any.whl
- Upload date:
- Size: 196.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c0b65ad174dc4c0e97cb6628b6aa23080631dc7a5759bed3b34bc896232e91b
|
|
| MD5 |
e3475ff5c0bf5176dbaf414f4b06ce2e
|
|
| BLAKE2b-256 |
1508730847cabff4084d26c6fa54ca526a55635795769f88c3b93035621459ad
|