Come nascondere i tag dopo N e mostrare "altri +X" come le categorie

Ciao a tutti,

Sto lavorando con argomenti che a volte ricevono molti tag (molti dei quali sono generati automaticamente da un feed ICS). Nell’interfaccia di Discourse, i tag continuano semplicemente ad andare a capo, il che rende gli elenchi di argomenti molto lunghi e più difficili da scorrere.

Vorrei fare qualcosa di simile a come vengono visualizzate le categorie negli elenchi di argomenti:
• Mostrare i primi (diciamo 5)
• Quindi comprimere il resto dietro un indicatore “+X altro”

Cosa ho provato:
• Il CSS può nascondere i tag dopo un certo numero e persino aggiungere un indicatore statico “…”, ad esempio

/* Nasconde tutti i tag dopo il quinto */
.topic-list .discourse-tags a:nth-of-type(n+6) {
  display: none;
}

/* Aggiunge … dopo il quinto */
.topic-list .discourse-tags a:nth-of-type(5)::after {
  content: " …";
}

Questo funziona per nascondere, ma il CSS non può contare dinamicamente quanti sono stati nascosti, quindi non posso ottenere “+3 altro”.

La mia domanda:
• Esiste un modo integrato per limitare i tag per la visualizzazione dell’argomento?
• In caso contrario, esiste uno snippet di esempio (magari dal rendering delle categorie) che potrei adattare in un componente del tema per aggiungere la logica “+X altro” per i tag?

Grazie in anticipo!

Sei riuscito a capirlo? Non è supportato nel core di Discourse, anche se probabilmente potresti farlo con un componente tematico.

C’è un’impostazione predefinita max tags per topic che è impostata su 20, che ritengo sia un valore predefinito sensato e non porti a troppi wrapping. Presumo che sia comunque raro volere così tanti tag.

:occhi:
20?

Sì, hai ragione! L’avevo aumentato a 20 sul mio sito. Il valore predefinito è 5, che è perfettamente sensato.

Il tuo occhio di falco non smette mai di stupirmi.

sì, il mio script di importazione in realtà ha disabilitato la creazione di tag UID abbreviati, poiché crea il marcatore UID HTML nascosto