Группы для страницы «О нас»: Группы, отображаемые на странице «О нас». Группы с нулём участников автоматически скрываются.
Показывать начальных участников: Количество участников, отображаемых при первоначальной загрузке для каждой группы; остальные скрываются за кнопкой «Показать ещё».
Заглавные буквы в названиях: Делает названия групп на странице «О нас» с заглавной буквы.
Порядок дополнительных групп: По алфавиту (по умолчанию), по порядку создания или по порядку, заданному в настройке «Группы для страницы «О нас»». Не влияет на порядок существующих групп администраторов и модераторов.
Показывать описание группы: Отображает описание группы под её заголовком (взято из настроек группы).
Возможно ли добавить новую настройку для использования полного имени группы? Было бы здорово отображать в ней символы Unicode, но я не хочу включать настройку сайта unicode_usernames.
У меня есть группа с именем group-challenges-cmt, полное название которой — Challenges Committee, но на странице /about она отображается как group-challenges-cmt, что выглядит не очень красиво
Для справки: если отметить опцию Заглавные буквы в названиях групп на странице «О нас», то group-challenges-cmt превратится в Group-Challenges-Cmt — правильно ли я понимаю? Или этот флажок должен заглавлять только первую букву названия группы?
Странно, но если добавить группу trust_level_4 на страницу «О нас», то на фронтенде она отображается как Trust Level 4
Тем не менее, это отлично, большое спасибо, Kirs @awesomerobot, теперь я могу убрать JS-код, который оставался с тех давних пор
Не знаю, насколько глубоко вы хотите погрузиться в эту тему, @awesomerobot. Вы принимаете предложения по новым функциям?
Было бы здорово добавить возможность сортировки групп. Я пробовал добавлять их в разном порядке, на случай если сортировка идёт по ID базы данных, но ничего не изменилось, так что, полагаю, они сортируются по алфавиту.
Возможно ли также исправить выравнивание участников групп?
Вы увидите, что администраторы в верхней части страницы занимают три колонки, тогда как дополнительные группы отображаются только в двух колонках?
Выглядит отлично! Спасибо, Крис. Мне кажется, это прекрасный способ показать людям, как устроен сайт. Многие группы на странице «Группы» ничего не значат, и эта страница выглядит загромождённой, в отличие от страницы «О нас», которая может стать более тщательно отобранным местом назначения.
Мне интересно, не стоит ли нам в будущем перенести эту функцию в ядро. Собираем обратную связь:
У функции есть ограничения как компонента темы:
интерфейс конфигурации находится не в /admin/config/about, а в компоненте темы
не учитывает настройку «скрытые группы на странице о нас», чтобы исключать группы, которые не должны отображаться на странице «О нас» (ссылка)
стилизация (например, количество колонок) включённых групп отличается от списков администраторов и модераторов, и её нужно будет обновлять каждый раз при изменении стилизации страницы «О нас»
Некоторая обратная связь уже была получена:
отображать название группы, а не слаг
автоматическое капитализация в некоторых случаях выглядит некорректно
добавить возможность сортировки групп
Также мне кажется полезным предоставить здесь краткую сводку дополнительных метаданных о группах, возможно, скрытую за кнопкой информации рядом с названием группы:
Эта просьба была выполнена быстрее, чем я ожидал , но мне следовало это предвидеть.
Причина, по которой я не сделал этого изначально, заключалась в том, чтобы избежать дополнительного запроса… но, похоже, это неизбежно.
Компонент темы работает следующим образом: он сопоставляет соответствующий ID группы из настройки темы со службой сайта (this.site.groups). Эта структура содержит ID и имя, но не полное имя…
Затем имя подставляется в эндпоинт /g/${name}/members… который содержит участников группы, но также не включает полное имя…
Таким образом, чтобы получить полное имя, мне нужно сделать еще один запрос к /g/${name}.
Флажок включает простую CSS-стилизацию text-transform: capitalize, которая делает заглавной первую букву каждого слова.
Хотя я совершенно забыл про ::first-letter, который можно использовать вместо этого, поэтому я перешел на него… теперь это должно быть более согласовано с нашим стандартным регистром.
Если кто-то задается вопросом, причина включения этой части о регистре заключается в том, что автоматические группы, такие как группы уровней доверия, не имеют поля full_name и всегда записаны в нижнем регистре. Какой запутанный клубок мы завели
Я убрал подчеркивания в компоненте, но не дефисы… это обновление устранит и то, и другое (но только для name, а не для full_name).
Я добавил настройку со следующими вариантами:
по алфавиту
по порядку создания
по порядку в настройках темы
Обратите внимание, что это касается порядка дополнительных групп и не повлияет на администраторов и модераторов — они всегда будут отображаться первыми.
Ах да, в Discourse есть CSS, который применяется только к группам модераторов и администраторов, я добавил исправление.
Добавление описания и ссылки на страницу группы — простые изменения, я их уже внедрил (описание отключено по умолчанию, но доступно через настройку).
Получение владельца группы возможно, но в данный момент я переиспользую базовый компонент AboutPageUsers, и его пришлось бы модифицировать, чтобы отображать бейдж владельца на аватаре пользователя (что, я думаю, является лучшим местом для этого).
Этот компонент довольно быстро усложняется, поэтому я пока воздержусь от реализации других запросов, пока у кого-то не возникнет в них конкретной необходимости.
Конечно, я вижу это. Однако названия и описания уровней доверия редактировать нельзя, поэтому я бы посоветовал этим пользователям создать другую группу, включить в неё участников tl4 и дать ей подходящее для сообщества название, флейр и описание.
Я также заметил странность с группами уровней доверия на странице «О нас» — не каждый раз, когда я её просматривал, но членство в группах отображалось некорректно. Иногда я, как администратор, появлялся в tl0, хотя формально являюсь участником tl2. Также странно, что я вообще там фигурирую, поскольку я администратор, и уровень доверия для меня неактуален. Но это особенность работы уровней доверия в Discourse и того, как они функционируют.
Я настроил это для TL3. Я создал новую группу и с помощью автоматизации Discourse синхронизировал значок «Regular» с новой группой TL3.
Да, я тоже это заметил. Сначала я скрывал администраторов через CSS, но это немного ломало макет, поэтому я вместо этого убрал значок «Regular», так как автоматизация синхронизирует его для меня. Не уверен, добавят ли его снова автоматически позже. Надеюсь, что нет. Да, он снова добавил автоматически, так что CSS теперь работает.
Я также заметил, что в JSON участники группы отсортированы по убыванию. Было бы неплохо либо перемешать их случайным образом, либо отсортировать по активности, например, используя ?order=last_posted_at или ?order=last_seen_at.
Это именно та причина, по которой мы делаем это в нашем сообществе
Согласен.
Я добавил немного CSS-кода, чтобы скрыть участников нашей команды администраторов из списка участников с уровнем доверия 4, отображаемого на нашей странице /about.
Это позволяет сосредоточить внимание исключительно на участниках с уровнем доверия 4, так как их следует поблагодарить и поздравить за их вклад в наше сообщество:
Также я заметил, что при включении в настройках trust level 4 отображалось как Trust level 4.
Мой ОКС (обсессивно-компульсивное расстройство) был не в восторге от этого, потому что у всех остальных групп первая буква каждого слова была заглавной Я добавил ещё одну строку CSS, чтобы изменить Trust level 4 на Trust Level 4.
Теперь всё идеально, насколько это вообще возможно.
Хороший вопрос. Похоже, что на самом деле сортировка идет по имени пользователя в обратном алфавитном порядке… что не очень логично. Я добавлю небольшое обновление, которое переключит сортировку на алфавитный порядок (как в списке участников на полных страницах групп).
Это фантастический компонент. Я думаю, что он также может стать основой для частичного улучшения страницы группы. Добавление сворачиваемых заголовков для организации групп по категориям.
Прежде чем углубляться в дебри и гадать, не является ли причиной чего-то другое (у меня применено много пользовательского CSS), не могли бы вы, пожалуйста, провести проверку работоспособности и подтвердить, что у вас всё ещё работает корректно?