Saudações.
Estou migrando um fórum antigo para o Discourse e o site original tinha um tema exclusivo (incluindo um logotipo de cabeçalho exclusivo) para uma de suas categorias.
Minha solução atual é um componente de tema que se parece com isto:
CSS:
body.category-target-category{
/// substitua os #hexcodes pelos valores de cor de sua escolha
--primary: #primaryhexcode;
--secondary: #secondaryhexcode;
--tertiary: #tertiaryhexcode;
/// continue para quaisquer/todos os valores de cor necessários
}
HTML/JS:
<script type="text/discourse-plugin" version="0.2.0">
api.onPageChange(() =>{
var logo = document.getElementById("site-logo");
var categories = document.getElementsByClassName("category-target-category");
if(categories.length > 0)
{
logo.src = "category-specific-logo-url";
}
else
{
logo.src = "standard-logo-url";
}
});
</script>
Atualmente, preciso iterar por todos os valores de cor possíveis mencionados em color_definitions.scss para substituí-los. Acredito que os valores para este arquivo são produzidos em foundation/color_transformations.scss, que os gera a partir dos valores encontrados em foundation/colors.scss. Sei que você pode substituir os valores do tema de cores raiz através do menu de administração ou no about.json do componente de tema, mas acredito que essas alterações ocorrem em todo o site.
Existe uma maneira mais eficiente de personalizar uma categoria específica, além de listar todas as mais de 100 variáveis em color_definitions.scss? Por exemplo, o arquivo foundation/colors.scss pode ser modificado por um componente de tema?
Obrigado pela ajuda!