discourse-theme-category-homepage
Trabalhei bastante em uma nova página inicial de category-box para o fórum da minha comunidade. Ela é bastante específica para nossas necessidades e, portanto, pode não ser útil para muitas pessoas, mas alguém pode tirar ideias dela.
Depois/Antes
Nosso caso de uso específico
Temos uma comunidade que lida com muitos tópicos amplos. Federamos ONGs locais que têm seus próprios membros, e também temos grupos autônomos, cada um realizando uma ou várias ações que precisam divulgar e que também precisam de um espaço privado para discutir sobre elas.
Uma parte significativa de nossos membros são pessoas idosas, e qualquer ação que exija mais de 3 cliques é muito difícil para elas (então gerenciar o nível de notificação da maneira usual não é viável para elas).
A comunidade é grande o suficiente para precisarmos de um sistema de classificação forte, mas a habilidade digital e a disposição dos usuários são bastante baixas, então precisamos manter algo o mais simples e explícito possível de usar.
Organização dos tópicos
As categorias de nível superior são usadas como hospedagem para os principais propósitos da comunidade.
Qualquer tópico que não se refira a um grupo pertence à categoria de nível superior mais próxima, e seus pontos principais podem ser rotulados com tags. Uma tag é principalmente, mas não necessariamente, contida em uma categoria de nível superior.
Cada ONG e grupo local faz seus anúncios em uma subcategoria pública da categoria de nível superior mais obviamente relacionada e trabalha silenciosamente em uma subcategoria privada.
Assim, um usuário pode facilmente encontrar todo o conteúdo sobre um de nossos principais propósitos (categoria de nível superior), sobre um tópico específico (uma tag que pode ser transversal a vários propósitos), sobre um grupo específico (uma subcategoria pública), etc.
Recursos
- Destaque cada categoria para fazê-las parecerem uma seção inteira do site.
- Escreva em negrito e adicione um ícone a qualquer coisa clicável, para que seja mais fácil focar no que é importante.
- Adicione conteúdo adicional para cada categoria:
- a quantidade usual de posts
- o seletor de nível de notificação
- um link “Clique aqui para ver todos os posts relacionados a esse domínio” para ser extra explícito
- Adicione tags relacionadas àquela categoria
- adicione um cabeçalho para deixar muito explícito que essas são as principais temas que estamos discutindo
- essas tags são selecionadas com uma configuração de tema
- a exibição das tags é feita de forma que elas realmente pareçam tags, para que o usuário entenda do que estamos falando quando usamos a palavra «tag».
- nota: a exibição é aprimorada pelo componente Tag icon
- Adicione cabeçalhos às subcategorias para deixar extra explícito que essas categorias são para anúncios, e outro para deixar extra explícito que essas subcategorias são privadas (sim, há um cadeado e qualquer usuário de nível médio entende. Mas…)
- nota: a exibição é aprimorada pelo componente Category icon
- A maioria desses recursos pode ser ativada ou desativada.
Instalação
Nota: este componente ainda está em Desenvolvimento. Estou atualizando-o, corrigindo bugs de CSS que propaguei em outros lugares, etc. Por favor, tenha paciência e me avise se algo parecer estranho.
Instale o componente como de costume. Como instalar um Tema ou Componente de Tema?
Repositório: https://framagit.org/oca/discourse-theme-category-homepage.git
Roadmap para melhorias futuras
Corrigir a quantidade muito grande de bugs de CSS.
Corrigir o problema que força a exibição do separador/cabeçalho para subcategorias mesmo quando não há subcategorias públicas ou privadas.
Criar uma página de categoria tão agradável quanto possível, exibindo caixas de subcategorias e tópicos.
Atualizar tudo assim que a equipe do Discourse decidir que sub-sub-categorias podem ser uma realidade (sei, deixe-me esperar…)
Estou aberto a sugestões de novos recursos, mas os adicionarei a este componente apenas se servirem ao meu caso de uso muito específico ou forem muito fáceis de implementar. Qualquer novo recurso adicionado será ativável ou desativável.







