Skip to main content

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, hooks para wagtail e arquivos static e templates 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.01.0.1 Correção de bugs, sem impacto na compatibilidade
MINOR (X.Y+1.0) 1.0.01.1.0 Nova funcionalidade compatível com versões anteriores
MAJOR (X+1.0.0) 1.0.02.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.01.0.1
Adicionou uma nova funcionalidade sem quebrar compatibilidade 1.0.01.1.0
Removeu ou alterou algo que quebra compatibilidade 1.0.02.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

wagtail_enap_designsystem-1.0.4.tar.gz (120.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wagtail_enap_designsystem-1.0.4-py3-none-any.whl (196.8 kB view details)

Uploaded Python 3

File details

Details for the file wagtail_enap_designsystem-1.0.4.tar.gz.

File metadata

File hashes

Hashes for wagtail_enap_designsystem-1.0.4.tar.gz
Algorithm Hash digest
SHA256 cf6dbb91f8e1636e00d8993c3543ae83e38113557dcb1a3bfe42bd2fc3401029
MD5 f58132882d24a1f8ff6bbe89ebeaeb85
BLAKE2b-256 0eb463164f7b284bbd5f2ff031f5ed2413c2d8db21a783bfb6ace3f7fb423716

See more details on using hashes here.

File details

Details for the file wagtail_enap_designsystem-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for wagtail_enap_designsystem-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8c0b65ad174dc4c0e97cb6628b6aa23080631dc7a5759bed3b34bc896232e91b
MD5 e3475ff5c0bf5176dbaf414f4b06ce2e
BLAKE2b-256 1508730847cabff4084d26c6fa54ca526a55635795769f88c3b93035621459ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page