Composant de thème pour les en-têtes de catégories Discourse

@NateDhaliwal ok, merci d’avoir examiné la question ! C’est assez décevant car nous aimions vraiment ce TC, mais s’il n’est pas possible de le réparer et de l’avoir sur notre site, je vais simplement le laisser de côté pour le moment et chercher d’autres moyens de rendre les en-têtes de catégorie attrayants.

@jackierenee J’ai pris la liberté d’intervenir et de jeter un coup d’œil à votre site.
Il semble que vous n’ayez fait que supprimer le composant de thème du thème parent, l’avoir mis à jour et l’avoir réintégré.

Le problème est que Discourse ne récupère pas lorsqu’un composant de thème est mis à jour au-delà de la compatibilité et qu’une épingle est ensuite ajoutée.

La bonne façon de récupérer d’une telle situation est :

  • aller au composant de thème
  • faire défiler tout en bas
  • copier les paramètres de « l’éditeur de paramètres »
  • les stocker dans un éditeur de texte
  • supprimer complètement ( :wastebasket: supprimer) le composant de thème
  • le réintégrer à partir du dépôt Github
  • copier les paramètres de l’éditeur de texte et les coller dans « l’éditeur de paramètres »
  • apporter des corrections si nécessaire (parfois, des paramètres sont ajoutés dans la nouvelle version, vous devrez donc les supprimer à nouveau, l’éditeur vous indiquera quoi faire lorsque vous tenterez de les enregistrer)
  • ajouter le composant de thème au thème parent.

Je l’ai fait sur votre site et les bannières s’affichent à nouveau.

Pour les auteurs de composants de thème : il est très utile d’utiliser le champ version dans about.json afin que l’administrateur sache quelle version d’un composant de thème est utilisée. Malheureusement, Discourse n’affiche pas les versions de commit pour les composants de thème comme il le fait pour les plugins.

8 « J'aime »

Cela semble poli. Je vais m’efforcer d’ajouter une action GitHub qui mettra automatiquement à jour une version à chaque nouveau commit sur la branche principale.

4 « J'aime »

Vous devriez pouvoir y parvenir facilement en utilisant le réglage Afficher le nom de la catégorie de ce composant de thème - il est conçu spécifiquement pour votre cas d’utilisation.

Cela semble être une très bonne idée ! Veuillez documenter comment faire cela et l’ajouter au guide “Développement de composants de thème pour les nuls” (s’il en existe un).

Je l’ai essayé - toutes mes préoccupations ont été résolues, et cela rend très bien. Beau travail !!!

Hé, serait-il difficile d’ajouter la possibilité de spécifier combien de paragraphes du sujet “À propos” utiliser pour la description ? Personnellement, je trouve que le paragraphe unique est assez restrictif et j’aimerais pouvoir spécifier (peut-être par catégorie) combien de paragraphes utiliser.

Enfin (tout en restant concentré sur ce TC), pensez-vous qu’il serait bon de déplacer le “Lire la suite…” à la fin du dernier paragraphe ? Cela permettrait d’économiser beaucoup d’espace perdu dans mon instance. Mais d’un autre côté, si nous pouvions utiliser plusieurs paragraphes, cela pourrait entrer en conflit avec le deuxième paragraphe s’il contenait des liens et autres. :thinking:.

Hmm… la façon dont le code accède à la description de la catégorie est d’utiliser this.args.category.description. Si je me souviens bien, elle arrive déjà sous forme d’un seul paragraphe. Je vais y jeter un œil. Peut-être que je pourrais faire un fetch() ou une requête ajax, mais cela pourrait être plus lent.

Peut-être un paramètre pour sélectionner s’il est en ligne ou non ? Laissez-moi jeter un œil.

1 « J'aime »

Salut, j’ai remarqué que la taille de la police du texte de la catégorie, lorsqu’elle est définie sur “plus petit”, n’est pas prise en compte, elle est toujours grande (c’est arrivé il y a un jour ou deux je pense).

Nous l’avons modifié, de sorte que la description de la catégorie soit plus petite ou plus grande que la valeur par défaut dans le cœur (qui semble avoir augmenté récemment).

Je vais vérifier qu’il n’y a pas de conflit de thème qui était un faux problème ici.

1 « J'aime »

Salut @RGJ, merci beaucoup pour ça ! Je ne savais pas que les composants de thème fonctionnaient de cette façon. Je garderai certainement cela à l’esprit si nous rencontrons à nouveau cette situation. J’apprécie vraiment votre aide ! :folded_hands:

2 « J'aime »

C’est une situation très rare et spécifique, avec un comportement étrange, et j’espère que nous ne rencontrerons plus cela pendant un certain temps !

3 « J'aime »

Salut, j’ai résolu le problème avec ce CSS :

.category-title-description .cooked {
  font-size: small;
}

Je rencontre également des pages de catégories vides sur les navigateurs de bureau et mobiles dans la version 3.5.0.beta8-dev de Discourse lorsque ce composant a le paramètre suivant :

	"setting": "show_mobile",
	"value": false

Lorsque je le réinitialise à la valeur par défaut (true), les pages s’affichent correctement.

1 « J'aime »

Cela devrait techniquement fonctionner… cette ligne était là avant même la mise à jour. Je vais jeter un œil.

@HTW J’ai poussé un correctif. Dites-moi si cela fonctionne maintenant !

1 « J'aime »

Corrigé. Merci beaucoup.

Il semble y avoir eu des changements récents dans les en-têtes de catégorie, ce qui signifie que les en-têtes principaux ne sont plus masqués lorsque vous utilisez ce composant.

Devrions-nous essayer d’aligner ce composant avec les changements de style dans le cœur du système ?

3 « J'aime »

Hmm… quels sont les changements ici ? Peut-être une capture d’écran ? Merci.

Avec le TC actif sur un site fraîchement mis à jour (il est clair que le style est devenu un peu fou) :

Avec le TC inactif :

1 « J'aime »

J’ai ajouté un !important à l’arrière… est-ce que ça marche maintenant ?

2 « J'aime »

Petite observation : La taille du texte de description est toujours trop grande. Même l’option « plus petite » utilise var(--font-up-2). Y a-t-il une chance d’ajouter var(--font-0) (« la plus petite » ou « par défaut ») comme option.

Accepteriez-vous une PR pour cela ?

1 « J'aime »

@jrgong Je viens de fusionner une PR qui ajoute une option ‘smallest’, avec la valeur de $font-0. Faites-moi savoir si vous rencontrez des problèmes !

2 « J'aime »