O tema padrão permite CSS/HTML personalizado em suas configurações.
Como um experimento, eu queria ocultar a linha do tempo, uma ótima sugestão para fazer isso usando CSS foi feita (tópico diferente). A sugestão foi implementar as 4 linhas como um componente de tema. Não é difícil, mas pensei que a opção de CSS personalizado no tema padrão poderia ser mais fácil.
Mudei meu tema e inseri as 4 linhas como CSS personalizado. De fato, isso funcionou perfeitamente.
Isso me faz pensar por que esse CSS/HTML personalizado está disponível (apenas) aqui. Não faria mais sentido tê-lo como uma configuração geral?
Provavelmente também há um uso para CSS personalizado apenas em um tema, mas um geral também seria útil, certo?
EDIT: Apenas adicionando um link aqui para o tópico principal discutindo CSS personalizado, que descreveu a abordagem do tema “Padrão” acima: Making custom CSS changes on your site
Um componente conectado a todos os temas é um tipo de configuração geral. O que seria diferente se você tivesse outra aba, seção ou componente “oficial” para isso?
Bem, um componente significa que você tem que editar o componente, então atualizar o componente na sua instância do Discourse.
Para ser claro, o fluxo de trabalho de temas e componentes é absolutamente incrível. Eu só acho que pode ser útil editar pequenas coisas de CSS de forma mais direta / ad-hoc.
Eh… não, você não precisa. As alterações são aplicadas imediatamente após salvar.
Primeiro você estava falando sobre um geral, agora você está editando diretamente apenas um tema. Bem, se você está fazendo alterações apenas para um tema, seria bom se houvesse uma opção para cada tema. Mas quando as alterações de CSS estão em um componente, você pode desativá-lo facilmente e rapidamente quando (não se…) as coisas derem errado por causa de bugs, conflitos, atualizações…
Para testes talvez e se não importar seus usuários também verão essas tentativas. Mas e se você gostar de manter essa mudança e tiver outro tema para escolher além do padrão? Então você terá que fazer outra rodada
Sou novo aqui, então certamente estou perdendo alguma coisa.
Se eu escrever meu próprio componente, eu o colocaria no GitHub. Então, se eu tiver alguma alteração a fazer, eu as faria no GitHub, depois pediria ao Discourse para atualizar o componente.
Por que você faria isso? A menos que você esteja planejando compartilhá-lo. Mas sem problemas — então você clica no botão de atualização do seu componente.
Estou um pouco perdido agora. Como você colocaria suas alterações de CSS mais facilmente em algum arquivo CSS global (que também seria um componente)?. E se você quiser mudar o tema Air, como você acha que entregaria essas alterações?
Independentemente de você compartilhar um componente, hospedá-lo no GitHub é geralmente uma boa ideia para que você possa gerenciar sua evolução e também fornece um bom backup.
Talvez seja mais fácil se eu der um exemplo concreto.
Eu quero ocultar a linha do tempo (apenas como um experimento), tive uma boa ajuda de @merefield para fazer isso usando CSS:
.topic-navigation {
display: none
}
Para este experimento, quero fazer isso globalmente. É um experimento, então não preciso fazer isso da maneira mais estrutural / replicável / tecnicamente correta.
Um componente não é um grande problema. Mas o que é ainda menos problemático é a configuração Editar CSS no tema padrão. Eu tentei e isso funciona perfeitamente.
No entanto, quero ver o que os membros da minha comunidade pensam, mas uso o tema zeronoise, que não tem a configuração Editar CSS.
Minha pergunta agora é, não seria útil se o Discourse tivesse uma maneira de mexer um pouco com CSS, da maneira que é possível se você definir o tema Padrão.
Para ser claro, entendo que há um caso de uso para Editar CSS que é específico do tema, então seria além do Editar CSS em Padrão, não em vez de.
Espero que isso explique um pouco o que estou tentando dizer. Me avise se eu errei algum elemento técnico e editarei de acordo.
E obrigado a todos por compartilharem seus pensamentos.
No espírito de coçar a própria coceira, estou pensando em pegar o código Editar CSS/HTML do tema padrão e empacotá-lo em um componente de tema ou plugin separado (mantendo a GPL-2, é claro).
Você tem que usar um componente separado feito por você para isso. E esse componente é sua configuração global no sentido de que você o habilitará em todos os temas que o utilizam.
Você não pode editar o HTML e o CSS de um tema/componente “externo” diretamente porque as alterações seriam substituídas quando o tema/componente fosse atualizado. Ainda era possível cerca de dois ou três anos atrás, mas esse recurso foi removido.
Você pode criar um novo componente local diretamente na interface do Discourse para substituir o CSS do seu tema existente (na aba CSS do componente), ou criar um novo componente como um projeto no GitHub que você atualizará através da página do componente (“atualizar” botão cada vez que o repositório for modificado).
Eu entendi bem o que você quer fazer e isso responde às suas perguntas?
Olá @Canapin, incrível! Obrigado. É exatamente o que eu estava procurando.
Isso provavelmente também explica a falta de comunicação com @Jagster, existe uma maneira direta de fazer o que eu estava tentando fazer, mas eu não estava ciente de que era possível criar um novo componente diretamente da interface (o que permite CSS personalizado).
Talvez seria útil adicionar isso aos ótimos guias sobre temas e/ou CSS de @Johani.