Comment masquer les tags après N et afficher « +X de plus » comme les catégories

Salut à tous,

Je travaille sur des sujets qui reçoivent parfois beaucoup d’étiquettes (dont beaucoup sont générées automatiquement à partir d’un flux ICS). Dans l’interface Discourse, les étiquettes continuent de s’enrouler, ce qui rend les listes de sujets très longues et plus difficiles à parcourir.

J’aimerais faire quelque chose de similaire à la façon dont les catégories sont affichées dans les listes de sujets :
• Afficher les quelques premières (disons 5)
• Ensuite, masquer les autres derrière un indicateur « +X de plus »

Ce que j’ai essayé :
• Le CSS peut masquer les étiquettes après un certain nombre, et même ajouter un marqueur statique « … », par exemple :

/* Masquer toutes les étiquettes après la 5ème */
.topic-list .discourse-tags a:nth-of-type(n+6) {
  display: none;
}

/* Ajouter … après la 5ème */
.topic-list .discourse-tags a:nth-of-type(5)::after {
  content: " …";
}

Cela fonctionne pour masquer, mais le CSS ne peut pas compter dynamiquement le nombre d’éléments masqués, je ne peux donc pas obtenir « +3 de plus ».

Ma question :
• Existe-t-il un moyen intégré de limiter l’affichage des étiquettes par sujet ?
• Sinon, existe-t-il un extrait d’exemple (peut-être à partir du rendu des catégories) que je pourrais adapter en composant de thème pour ajouter la logique « +X de plus » pour les étiquettes ?

Merci d’avance !

1 « J'aime »

Avez-vous pu résoudre ce problème ? Ce n’est pas pris en charge dans le cœur de Discourse, bien que vous puissiez probablement le faire avec un composant de thème.

Il existe un paramètre par défaut max tags per topic qui est défini sur 20, ce qui me semble être une valeur par défaut raisonnable et qui n’entraîne pas trop de retour à la ligne. Je suppose qu’il est rare de vouloir autant de tags de toute façon.

:eyes:
20 ?

Oui, vous avez raison ! Je l’avais augmenté à 20 sur mon site. La valeur par défaut est 5, ce qui est tout à fait raisonnable.

Votre œil de lynx ne cesse de m’étonner.

1 « J'aime »

ouais, mon script d’importation désactive en fait la création de balises UID raccourcies, car il crée le marqueur UID HTML caché

Ce sujet a été automatiquement fermé 14 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.