Многофункциональная витрина

:warning: :mechanic:t4:

Я полностью переписал этот компонент. Он размещён в новом репозитории и имеет новую тему: Featured Lists

Эта версия пока продолжает работать нормально, но если вы используете Discourse 3.2.0.beta3 или новее, пожалуйста, используйте новую версию.

Этот компонент позволяет отображать различные списки тем на вашей главной странице. Стандартный вид:

В настройках компонента можно определить списки источников и положение размещения:

Формат списка источников немного продвинутый, и для эффективного использования необходимо понимать несколько концепций списков в Discourse. Вы настраиваете:

  • заголовок источника
  • длину списка
  • фильтр списка (latest, top, unread и т.д.)
  • фильтр по тегам (как определено в слаг-идентификаторе тега)
  • фильтр по категориям (как определено по идентификатору категории)
  • ссылку источника (куда ведёт кнопка More)

Списки настраиваются как flex-блоки, поэтому при наличии только одного списка он по умолчанию растягивается:

:+1: Благодарности: Компонент является ответвлением от Showcased Categories. @Ahmed_Gagan расширил функциональность, а я переписал архитектуру. В итоге мы изменили так много, что теперь это больше не совместимо.

18 лайков

Крутой плагин, делает главную страницу более интерактивной.

У меня есть две, возможно, три предложения:

  1. добавить слот a discovery-list-container-bottom
  2. увеличить ширину первого столбца с заголовком, когда несколько списков расположены рядом
  3. при необходимости настроить более двух списков в ряд?
1 лайк

Спасибо за предложения, @Zup!

Думаю, я не буду добавлять больше слотов, так как их уже три. Если вам нужен конкретный, вам придется сделать форк и добавить его там.

Списки являются flex-контейнерами. Вы можете изменить поведение flex с помощью CSS и получить больше списков в строке или всего один.

Если вы имеете в виду это, то да, мне следует лучше настроить ширину там :+1:

Спасибо за этот отличный компонент, @manuel.

Мне бы очень хотелось его использовать, но после установки:

  • всё кажется в порядке, за исключением того,
  • что поле входа в экземпляр установлено в “display: none” (так что страница входа становится полностью пустой).

Думаю, где-то должен быть конфликт.

У кого-нибудь уже возникали подобные проблемы и есть ли у кого-то идея, где можно попробовать разобраться?

Большое спасибо.

1 лайк

Урааа…

У меня есть решение через прокси: я не уверен, почему это работает, но когда я выбираю discovery-list-container-top, всё на 100% в порядке.

У меня была проблема с настройкой above-main-container. Пока неважно, так как discovery-list-container-top отлично работает с моими запущенными экземплярами.

1 лайк

Спасибо за сообщение об этом, @JBM. Я могу воспроизвести проблему: код, генерирующий список, работает в цикле, когда не может получить доступ к содержимому сайта (поскольку требуется вход в систему). Это работает, когда выбран выход discovery-list-container-top, потому что этот выход доступен только после входа в систему. Нужно будет разобраться в этом.

1 лайк

Если у вас есть время, не хотели бы вы создать какой-нибудь стильный разделитель для мобильных устройств, где есть часть с демонстрацией, а пользователь переходит к обычным последним? Сейчас кажется, что последняя часть продолжается бесконечно.