Всем привет,
Я работаю с темами, у которых иногда появляется очень много тегов (многие из них генерируются автоматически из ICS-ленты). В интерфейсе Discourse теги просто переносятся на новые строки, из-за чего списки тем становятся слишком высокими и их сложнее просматривать.
Хотел бы реализовать что-то похожее на то, как в списках тем отображаются категории:
• Показывать первые несколько (например, 5)
• А остальные сворачивать за индикатором «+X ещё»
Что я уже пробовал:
• С помощью CSS можно скрыть теги после определённого количества и даже добавить статичный маркер «…», например:
/* Скрыть все теги после пятого */
.topic-list .discourse-tags a:nth-of-type(n+6) {
display: none;
}
/* Добавить … после пятого */
.topic-list .discourse-tags a:nth-of-type(5)::after {
content: " …";
}
Это работает для скрытия, но CSS не может динамически подсчитывать, сколько тегов было скрыто, поэтому я не могу получить надпись «+3 ещё».
Мой вопрос:
• Есть ли встроенный способ ограничить количество отображаемых тегов для каждой темы?
• Если нет, есть ли пример фрагмента кода (возможно, из логики рендеринга категорий), который я мог бы адаптировать в компонент темы, чтобы добавить логику «+X ещё» для тегов?
Заранее спасибо!
