Skip to content

Modular System Overview

Neylon Santos edited this page Jun 17, 2025 · 1 revision

🌟 Visão Geral do Sistema Modular

O Sistema de Funcionalidades Modulares do Contramaré é uma arquitetura avançada que permite controlar de forma granular quais funcionalidades e tipos de conteúdo estão ativos no site.

🎯 O que é o Sistema Modular?

É uma arquitetura baseada em configuração que permite:

  1. Ativar/Desativar funcionalidades completas com apenas uma linha
  2. Filtrar automaticamente posts e conteúdo baseado em categorias
  3. Proteger páginas associadas a funcionalidades desativadas
  4. Adaptar a navegação do site conforme funcionalidades ativas

📊 Diagrama de Funcionamento

graph TD
    A[Configuração _config.yml] --> B[Jekyll Build]
    B --> C[Plugin FeatureFilter]
    C --> D[Processa Posts]
    D --> E[Filtra por Categoria]
    E --> F[Atualiza Menus]
    F --> G[Protege Páginas]
    G --> H[Site Final]
Loading

🧩 Componentes Principais

O sistema é composto por três elementos essenciais:

1️⃣ Features (Funcionalidades)

Definições booleanas no arquivo _config.yml que determinam quais funcionalidades estão disponíveis:

features:
  quotes_page: false    # Página de frases
  blog_page: true       # Página do blog
  contact_page: true    # Página de contato
  about_page: true      # Página sobre

Saiba mais em Ativação de Funcionalidades.

2️⃣ Category Feature Mapping

Mapeamento que conecta categorias de posts às respectivas funcionalidades:

category_feature_map:
  "Frases": "quotes_page"      # Posts de "Frases" → quotes_page
  "Blog": "blog_page"          # Posts de "Blog" → blog_page
  "Reflexões": "blog_page"     # Posts de "Reflexões" → blog_page

Saiba mais em Mapeamento de Categorias.

3️⃣ Filtragem de Posts

Sistema automático que filtra posts e conteúdo com base nas funcionalidades ativas:

{% assign filtered_posts = site.posts | posts_by_active_features %}
{% for post in filtered_posts limit:5 %}
  <!-- Exibir post -->
{% endfor %}

Saiba mais em Filtragem de Posts.

🚀 Benefícios do Sistema

💻 Para Desenvolvedores

  • Desenvolvimento incremental: lance funcionalidades gradualmente
  • Controle granular: gerencie funcionalidades individualmente
  • Testes A/B: teste diferentes configurações facilmente
  • Rollback rápido: desative funcionalidades problemáticas instantaneamente

👥 Para Usuários

  • Experiência consistente: nunca veem páginas ou links quebrados
  • Navegação limpa: menu sempre mostra apenas o que está disponível
  • Carregamento rápido: conteúdo desativado não é processado

📚 Conceitos Fundamentais

Estados de Funcionalidade

Estado Comportamento
✅ ATIVA Conteúdo visível, menu ativo, posts acessíveis
❌ INATIVA Conteúdo oculto, sem menu, posts protegidos

Implementação Técnica

O sistema usa:

  • Plugin Jekyll personalizado: para processamento otimizado
  • Hooks Jekyll: para processamento durante o build
  • Filtros Liquid: para templates e condicionais
  • Condicionais em templates: para proteção de páginas

🔄 Próximos Passos

Clone this wiki locally