Adicionar CurrentThemeId às Classes CSS do Body

Olá,
Alguém pode me ajudar a adicionar o ID do tema ativo como uma classe CSS em <html> ou <body>?
Preciso escrever alguns estilos e preciso de atributos diferentes para alguns temas.

Por exemplo, ao usar “dark-theme”:

<html class="desktop-view not-mobile-device text-size-normal dark-theme">

Não usamos o nome como ID, apenas um número. Você pode encontrar o ID de um tema verificando a URL ao personalizar um tema no painel de administração… por exemplo, https://forum.example.com/admin/customize/themes/140

Se você puder trabalhar com o ID em vez do nome, essa seria uma maneira rápida de fazer isso (adicione ao arquivo head do seu tema/componente):

<script type="text/discourse-plugin" version="0.8">
  var themeSelector = require('discourse/lib/theme-selector');
  document.querySelector("body").classList.add("theme-id-" + themeSelector.currentThemeId())
</script>

Você também pode encontrar o nome do tema pelo ID, mas isso exigiria um pouco mais de trabalho.

2 curtidas

Obrigado, Kris, @awesomerobot
Existe alguma documentação sobre os métodos de plugins do Discourse e bibliotecas relacionadas?

Encontrei esta, mas parece não incluir todas as bibliotecas e métodos:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.