Componente de tema de Cabeçalhos de Categorias do Discourse

This theme component provides a number of enhancements for the Discourse category header.

The ‘standard’ Discourse category header is displayed at the top of each category page, above the navigation links and list of topics. It is normally only visible if a category logo image has been uploaded in the category settings. The header displays the logo and a short description of the category, taken from the first paragraph of the ‘About the.. category’ topic.

This theme component provides the following enhancements

The category header is now shown by default for all categories. It now includes the name of the category in addition to the logo (if set) and the category description. It can also now include a logo background image and can be styled to show as either a ‘box’ or a ‘banner’, using the category color settings . There are a wide range of configurable options in the theme settings.

Theme settings

  • show category name: Show the category name in the header
  • show category description: Show the category description text (the first paragraph of the “About this category” topic)
  • description text size: Size of text within the category description
  • text align: Alignment of the text within the category header
  • show subcategory header: Show header for subcategories
  • show parent category name: Prefix the parent category name on the subcategory headers (this acts as a breadcrumb link to the parent category page)
  • show lock icon: Show the lock icon on categories protected by permissions
  • show category logo: Show the category logo image within the header
  • show parent category logo: Show the parent category logo when a subcategory logo is not set
  • show site logo: Show the small site logo if a category logo is not set
  • position logo: Position of the logo within the box
    – ‘left’ and ‘right’ display the logo inline with the text.
    – ‘top’ displays the logo above aligned with the text
  • size logo: Position of the logo within the header.
    – Small is 50px high similar to a subcategory box logo.
    – Standard is 150px high.
    – Original is the size of the image uploaded
  • header style: Set the header style to either:
    – Box: the category header is displayed in the same style as the standard Discourse boxes
    – Banner: set the header background to the category background color and text to the foreground color
    – None: no border or background styling
  • header background image: Applies if you have uploaded a category background image
    – ‘contain’, ‘cover’ and ‘resize’ display the background within the header.
    – ‘outside’ is the Discourse default displaying it outside the header, over the whole page.
  • show mobile: Show category header on mobile devices
  • force mobile alignment: Force mobile alignment of logo-text to the top-centre of the header
  • hide if no category description: Hide header if category description is not set
  • hide category exceptions: Headers will not show for these categories

Install the theme component

:hammer_and_wrench: Git repo: https://github.com/naidihr/discourse-category-headers

:thinking: How do I install a Theme or Theme Component?

Credits

Thanks to @Johani for his excellent Developer’s guide to Discourse Themes
This theme component was inspired by other themes notably the Discourse Category Banners theme by @awesomerobot

Examples

Box style: The category header is displayed in the same style as the subcategory boxes

Subcategory, note the subcategory doesn’t have a logo but is set to inherit the parent category logo. The parent category name is also set to show as a breadcrumb link.

If the subcategory has it’s own logo it will display it instead.

Mobile view showing a different text and icon alignment.

Text size settings.



Alignment options example center text, logo right.

Banner style: Uses the category background and foreground colors

Background image: Uses the category background image

82 curtidas

The wide range of options makes this really flexible, looks great!

21 curtidas

This awesome work! :beers::sunglasses::+1:

5 curtidas

This look excellent.

3 curtidas

Rhidian, você poderia compartilhar suas configurações para que as categorias apareçam no formato de grade, como na captura de tela que você compartilhou? (link abaixo)

Instalei este componente do tema e consigo ver apenas cabeçalhos em caixa no topo de cada página de categoria. Obrigado!

3 curtidas

Na verdade, acredito que descobri. :slight_smile: Eu estava faltando o seguinte em Configurações:

Screen Shot 2020-07-08 at 1.23.35 PM

5 curtidas

Ótimo, @labrumfield :grin:. Obrigado por postar a resposta também — suspeito que será útil para outras pessoas também. Espero que o componente de tema funcione bem para você.

1 curtida

Você sabe se há uma maneira de visualizar essa configuração de Caixas com Subcategorias com um novo tema sem publicá-lo?

Não tenho certeza do que você quer dizer com pré-visualização? Você pode pré-visualizar temas e componentes de tema nas configurações de administração de personalização

Idealmente, eu gostaria de visualizar a configuração ‘Caixas com Subcategorias’ sem publicá-la. Ou, se houver alguma maneira de associar essa configuração apenas ao seu componente de tema e não a outros temas/componentes de tema.

Acho que não há como fazer isso, então só queria ver se alguém tinha alguma ideia. Obrigado!

As caixas com a configuração de subcategoria não fazem parte deste componente. Elas são uma configuração de categoria do Discourse.

Você não pode ‘pré-visualizar’ isso, mas pode ativá-lo temporariamente para ver como fica. As configurações de categoria servem para exibir as subcategorias como linhas ou caixas.

2 curtidas

Olá,

Acabei de alterar uma configuração de categoria e os cabeçalhos da categoria ficaram um pouco desconfigurados. (veja a imagem)

A configuração alterada foi o Estilo da Lista de Subcategorias, que mudou de “Caixas” para “Caixas com Tópicos em Destaque”. Acredito que nenhuma outra configuração tenha sido alterada. Você tem alguma ideia de como fazer o banner voltar a ficar no topo, em vez da caixa no canto superior esquerdo?

Além disso, quando altero a configuração de volta para “Caixas”, ela ainda não volta ao normal.

Muito obrigado. Este é um componente realmente, realmente, realmente excelente.

Testei minha sorte e tentei inserir um vídeo do YouTube e um podcast do SoundCloud, mas, infelizmente, não foram exibidos na caixa de categoria.

Seria uma maneira incrível de apresentar às pessoas do que se trata a categoria se eu pudesse escolher entre imagem e/ou vídeo e/ou áudio. Fazer um vídeo de introdução curto para cada categoria em vez de uma imagem. Assim, um membro em potencial poderia ter uma visão geral a partir de um pequeno texto e assistir a um vídeo com uma introdução sobre o que a categoria trata, ou ainda ouvir uma versão em áudio/introdução em podcast, se essa for a preferência deles.

Mas muito obrigado pelo seu trabalho e contribuição.

1 curtida

Quais são as melhores dimensões e opções para tornar um banner responsivo? Talvez eu precise verificar outro componente?

Acho que seria ótimo exibir as informações da categoria com um bom design.

Obrigado por esse módulo. É incrível.

1 curtida

Os banners utilizam os modelos responsivos padrão do Discourse, portanto devem redimensionar-se automaticamente ao seu dispositivo.

1 curtida

Bem, vejo que a configuração de correção automática não funciona bem para a largura total do banner em dispositivos desktop e móveis.

Você tem algum exemplo disso? Talvez eu possa fazer isso via CSS, usando algumas media queries, mas seria útil para todos. Ou talvez eu esteja perdendo algo na minha configuração.

Obrigado pela sua resposta, Rhidian.

Olá,

Estou usando seu brilhante componente de tema, mas, independentemente das configurações que faço, nada muda no layout. A descrição não aparece e, ao mover o logotipo entre as posições superior, esquerda e direita, os efeitos não são exibidos.

O que estou esquecendo, por favor?

Alguém ainda monitora este tópico ou este componente de tema não é mais mantido?

Não houve nenhuma alteração no componente. Nesses casos, é provável que seja outro componente que esteja interagindo com ele. Sugerimos desativar os componentes um por um para ver se você consegue identificá-lo. Se conseguir, por favor, nos avise.

2 curtidas

O link na descrição da minha categoria está estilizado como código normal devido à regra CSS a,a:visited {color: inherit;} no component.css.

Esse é o resultado esperado?