Visão Geral
Um Componente de Tema que permite organizar Componentes[1] em barras superiores e laterais.
- Especifique um conjunto de “widgets” distintamente para Rota e Posição.
- Suporta configurações para cada um de: descoberta[2], tópico, tag[3], categoria[3:1], categorias[3:2] OU interseção de tags[4]
- As “Barras” podem ser: superior, esquerda, direita OU localização alternativa à direita.
- Cada barra pode ser recolhida ou dispensada (recarregue o navegador para redefinir a dispensa). Elas podem ser minimizadas por padrão.
- Lida com a Barra Lateral Oficial, mas se você pretende usar uma Barra Lateral Esquerda, o modo Dropdown da Barra Lateral oficial é recomendado.
- Ele vem com configurações de exemplo existentes que mostram algumas letras grandes, em parte como uma demonstração e em parte para que você possa ver as configurações de exemplo. Exclua-as e substitua pelos nomes dos seus próprios Componentes.
- Vem com um Componente:
bars-custom-html(veja as configurações de exemplo pré-preenchidas) - mas componentes de muitos Componentes de Tema e Plugins existentes são compatíveis. - Suporte móvel ainda não foi implementado.
Links Rápidos
https://github.com/merefield/discourse-tc-bars |
|
| GitHub - merefield/discourse-tc-bars: A Theme Component that allows you to lay out Components ("widgets") on top and side bars | |
| Installing a theme or theme component |
Gostando deste Componente de Tema? Por favor, dê
no GitHub ! ![]()
Exemplo gratuito:
Ao carregar pela primeira vez:
Algumas coisas importantes a notar sobre este TC!
-
Este Componente de Tema destina-se principalmente a desenvolvedores e administradores que possuem algum conhecimento técnico sobre desenvolvimento de temas. Se você não for suficientemente técnico e precisar de ajuda para implementar barras laterais usando Barras, você pode me contratar ou contratar um desenvolvedor em Marketplace
-
Este Componente de Tema destina-se a fornecer uma estrutura para suportar barras laterais. Ele não e não se destina a fornecer polimento visual final, que você precisará adicionar em seu Tema com CSS adicional. No entanto, ele faz muito trabalho para você e dá a você menos coisas para pensar e talvez até lhe dê a capacidade de fazer coisas que você não tinha a capacidade de fazer antes …

Considerações sobre o Componente
-
Você deve especificar um nome de Componente. O nome do componente é, na verdade, o mesmo que o nome do arquivo no diretório do tema, tc ou plugin
component, sem o sufixo.- o nome do componente não é o nome do Componente de Tema (que pode conter muitos Componentes Glimmer Ember), é o nome do arquivo do Componente Ember real
, então, por exemplo:
então
layouts-tag-list - o nome do componente não é o nome do Componente de Tema (que pode conter muitos Componentes Glimmer Ember), é o nome do arquivo do Componente Ember real
-
Eles podem ser de um Componente de Tema ou Plugin existente. Componentes existentes podem funcionar. Exemplos são:
- 🏷️ Bars Tag List Component
- Render a component within a Widget. (Using select-kit components within plugin code) - #31 by merefield
- Discourse AI Topic Summary 🤖 … e possivelmente até:
- O widget Leaderboard: https://github.com/discourse/discourse-gamification/blob/main/assets/javascripts/discourse/components/minimal-gamification-leaderboard.js (me avise se você tentar abaixo!)
-
Requer alguma experiência para construir Componentes
- Mas tente construir seu próprio Componente em outro Componente de Tema e certifique-se de que ambos estejam ativos no mesmo Tema.
-
Os Componentes devem obter seus próprios dados (eles não podem usar modelos de passagem de plugin outlet infelizmente devido aos outlets de plugin específicos que precisam ser usados para organizar as coisas dessa forma)
- Fora da caixa, você só pode usar dados de API json existentes de, por exemplo, o núcleo do Discourse ou aqueles fornecidos por um Plugin existente. Se você precisar de dados personalizados que não pode obter das APIs atuais, você pode me contratar ou contratar alguém em Marketplace para ajudar você.
-
Você pode precisar estilizar a barra lateral e os limites do componente a gosto. (novamente, se precisar de ajuda, considere contratar um desenvolvedor).
- Uso estratégico de sombras e bordas pode deixar as coisas muito bonitas - seja artístico!
Por quê
-
Com a atualização do núcleo do Discourse para Ember 5, o truque que o plugin Layouts da Pavilion[1:1] usava para fornecer uma excelente maneira de manipular o layout do Discourse deixou de funcionar. Agora não havia uma maneira fácil de mostrar uma barra lateral em uma rota de Tópico através de uma interface de usuário relativamente fácil.
-
Além disso, o Ember introduziu os Componentes Glimmer, que eram muito mais agradáveis de trabalhar. (Layouts usavam a API de Widgets, que está obsoleta em favor dos Componentes Glimmer).
-
Finalmente, a equipe principal do Discourse forneceu um novo editor JSON para configurações de Componentes de Tema, o que tornou possível implantar uma configuração mais complexa

-
Em vez de corrigir o plugin Layouts (TCs não existiam na época do Layouts), fez sentido reconstruir como um Componente de Tema, porque podemos alcançar a maioria das coisas que precisamos apenas no front-end.
-
Entre “Barras”
Saúde!!
Problemas Conhecidos
- A barra superior não fica fixa (posso remover a configuração correspondente se não conseguir resolver).
Créditos
- Sucessor espiritual do Plugin Layouts agora quebrado, construído por @angus (Saúde!) que nos serviu bem por muitos anos.
- Usa o sistema de parâmetros do Right Side Blocks (obrigado @pmusaraj!)
o termo ‘descoberta’ (rota) refere-se às páginas principais da Lista de Tópicos (por exemplo, “Mais Recentes”, “Novos”) que permitem navegar pelos Tópicos disponíveis antes de clicar e mergulhar em um específico. ↩︎ ↩︎
tecnicamente também uma rota de “descoberta”, mas estamos separando-as em nomes distintos para que você possa tratá-las de forma diferente, se desejar. ↩︎
Veja aqui para mais detalhes. Para que isso permaneça opcional (nem todos os instaladores de Barras desejarão uma página inicial personalizada), Barras não adiciona o modificador necessário em
about.json, então você deve adicioná-lo no Tema pai ou em outro TC para ativá-lo. ↩︎ ↩︎ ↩︎Veja o Plugin de Interseção de Tags ↩︎








