Añadir una clase de categoría a una página publicada

Si no podemos usar type="text/discourse-plugin" en una etiqueta de script, ¿hay alguna forma de obtener el slug de la categoría actual de una página publicada?
El propósito es agregar una nueva clase que contenga el slug en la etiqueta HTML de una página.

2 Me gusta

Hola,

No estoy seguro de entenderlo completamente, pero la categoría está disponible en el cuerpo, por lo que puedes apuntar a ella.

Por ejemplo:

Puedes apuntar a todos los temas de la categoría lounge con:

.published-page.lounge {
  ...
}
2 Me gusta

Lo siento, no fui lo suficientemente claro y debería haber explicado mejor el propósito.

Actualmente, la publicación de páginas no utiliza el fondo de la categoría.

Configuración:

Vista del tema:

Vista de la página publicada:

El fondo de la categoría se define en color_definitions.scss:

body.category-test-category {
    background-image: url(/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg)
}

La página publicada no tiene la clase category-test-category y, por lo tanto, no hereda la imagen de fondo.

Mi idea es usar javascript para obtener el slug de la categoría y agregar una clase category-[slug de la categoría] a la etiqueta del cuerpo, sea cual sea el nombre de la categoría, para que los fondos de categoría se apliquen automáticamente, en lugar de escribir CSS personalizado para cada categoría de página publicada, como:

.published-page {
    &.test-category {
        background-image: url("/uploads/default/original/1X/1851d5e9eb66a9ecf49f0dc747dfbad1a0fd220b.jpeg");
    }
}
4 Me gusta

Estoy de acuerdo, muy buena idea :+1:

2 Me gusta

Ya veo… Sí, es una buena idea, pero desafortunadamente no creo que sea posible modificar una página publicada con un componente temático (javascript)… Probablemente con un plugin o añadiendo al núcleo la parte category- antes del nombre de la categoría.

Creo que por ahora la forma manual funciona. Crea un componente temático con el SCSS relevante para las categorías de páginas publicadas y añade configuraciones para ello.

Quiero decir algo como esto, tal vez: GitHub - VaperinaDEV/published-page-category-background-image

Pero tal vez haya una mejor solución, no estoy seguro. :slightly_smiling_face:

3 Me gusta

Esa es una solución muy ingeniosa, pero estoy de acuerdo en que tener algo así por defecto (o personalizable) en el núcleo podría ser bueno. La intención actual es tener explícitamente un fondo por defecto usando los colores del tema, como podemos ver en publish.scss:

.published-page {
  background-color: var(--secondary);
  color: var(--primary);

¿Qué tal si las URLs de las imágenes de fondo de las categorías personalizadas se almacenaran en variables CSS a las que pudiéramos acceder fácilmente en nuestro CSS personalizado? Al menos, no nos molestaríamos en usar la URL completa de la imagen en nuestro CSS.


He hecho una solicitud de características aquí: Published pages could inherit categories' background image setting

4 Me gusta