-
Notifications
You must be signed in to change notification settings - Fork 0
Category Feature Mapping
O Mapeamento de Categorias (Category Feature Mapping) é um mecanismo essencial do Sistema de Funcionalidades Modulares que conecta categorias de posts às respectivas funcionalidades controladas.
É um sistema que permite decidir quais categorias de posts serão exibidas ou ocultadas com base nas funcionalidades ativas ou inativas. Este mapeamento:
- Conecta categorias de posts às funcionalidades correspondentes
- Permite filtragem automática de conteúdo
- Garante consistência na visualização do site
O mapeamento é configurado no arquivo _config.yml através da chave category_feature_map:
# ========================================
# MAPEAMENTO CATEGORIA → FUNCIONALIDADE
# ========================================
category_feature_map:
# Categorias de conteúdo
"Frases": "quotes_page"
"Blog": "blog_page"
"Reflexões": "blog_page"
"Pensamentos": "blog_page"Cada entrada no mapeamento segue o formato:
"Nome da Categoria": "nome_da_funcionalidade"Onde:
- Nome da Categoria: A categoria exata como aparece nos posts
-
nome_da_funcionalidade: A funcionalidade correspondente em
features
features:
quotes_page: false
blog_page: truecategory_feature_map:
"Frases": "quotes_page"
"Blog": "blog_page"
"Reflexões": "blog_page"Com esta configuração:
- ✅ Posts com categoria "Blog" e "Reflexões" serão exibidos (
blog_pageestá ativo) - ❌ Posts com categoria "Frases" serão ocultados (
quotes_pageestá inativo)
O sistema segue estas regras ao processar posts:
- Sem categoria: Posts sem categorias são sempre exibidos
- Categoria não mapeada: Posts com categorias que não aparecem no mapeamento são sempre exibidos
- Categoria mapeada: Posts com categorias mapeadas são exibidos somente se a funcionalidade correspondente estiver ativa
- Múltiplas categorias: Posts com várias categorias são exibidos se pelo menos uma categoria estiver ativa ou não for mapeada
Uma mesma categoria pode ser usada em várias funcionalidades:
features:
highlights_page: true
blog_page: true
category_feature_map:
"Destaques": "highlights_page"
"Blog": "blog_page"
"Reflexões": "blog_page"Posts podem aparecer em múltiplas seções do site:
# Post com duas categorias
---
title: "Reflexão Importante"
categories: [Blog, Destaques]
---Este post será exibido se qualquer uma das funcionalidades blog_page OU highlights_page estiver ativa.
features:
summer_content: false # Conteúdo sazonal de verão
category_feature_map:
"Verão": "summer_content"
"Praia": "summer_content"Verificações:
-
Ortografia exata: As categorias são sensíveis a maiúsculas/minúsculas e acentos
# Correto - exatamente como aparece no post "Reflexões": "blog_page" # Incorreto - não vai funcionar se o post usar "Reflexões" "reflexoes": "blog_page"
-
Reinicie o Jekyll: Mudanças no
_config.ymlexigem reinício do servidorbundle exec jekyll clean bundle exec jekyll serve
-
Arrays de categorias: Caso use arrays, verifique o processamento correto
# Nos posts categories: [Blog, Reflexões] # OU categories: - Blog - Reflexões
Para verificar quais categorias estão ativas:
<!-- Debug de categorias ativas -->
<div style="background: #f0f0f0; padding: 10px; margin: 10px 0;">
<h4>Categorias Ativas:</h4>
<ul>
{% for category in site.data.active_categories %}
<li>{{ category }}</li>
{% endfor %}
</ul>
</div>- Use nomes descritivos para categorias e funcionalidades
- Seja consistente na nomenclatura das categorias
- Mantenha o mapeamento organizado com comentários
- Documente claramente novas categorias adicionadas
- Faça atualizações em lote para evitar inconsistências
Custom footer