Я согласен с тем, что для настройки (эффектов и т. д.) требуется знание CSS, но базовая функциональность показа/скрытия и определение того, какие бейджи включать или исключать, должны быть доступны в виде настройки.
Кажется, существует тарифный план Discourse Hosting, где это вообще невозможно. Кроме того, многие администраторы испытывают трудности с добавлением CSS в тему, установленную из GitHub.
Но моя основная мысль заключалась в том, что сначала нужно знать о существовании CSS и о том, как легко с его помощью скрыть элементы. Документация, безусловно, может помочь, но, по моему опыту, большинство людей её не читают.
Зачем вообще есть настройка для отключения ссылки «Powered by Discourse»? Её ведь тоже можно легко скрыть с помощью CSS.
Спасибо всем за дополнительные отзывы! Сегодня я изучу возможность добавления некоторых настроек. ![]()
Вот моя первая попытка добавить настройки.
Глобальная настройка
Настройка для каждой бейджа
Сами настройки довольно просты, но поведение оказывается немного сложнее, чем мне бы хотелось. Чтобы избежать раскрытия информации, которую не следует раскрывать, отображение бейджа на сообщении в настоящее время требует включения трёх следующих настроек:
- Отображать бейдж на публичной странице бейджей
- Отображать сообщение, за которое выдан бейдж, на странице бейджа
- Отображать бейдж на сообщении, за которое он был выдан
Причины для каждой из них:
- Кажется противоречивым показывать бейджи на сообщении, если они не отображаются на публичной странице бейджей.
- Показывать бейджи на сообщении, не отображая само сообщение на странице бейджа, кажется потенциальной утечкой информации.
- Это новая настройка, позволяющая отображать бейдж на сообщении.
Предполагая, что разумно сделать эту новую опцию зависимой от наличия включённых существующих опций, возникает несколько вопросов, которые сильно зависят от общего языка дизайна Discourse, поэтому я буду очень признателен за дополнительную обратную связь здесь, @chapoi.
В частности, какой способ является наиболее подходящим для того, чтобы в административной панели Discourse показать, что одна опция не будет действовать, пока не включены другие?
Связанный вопрос: если системный бейдж не имеет включёнными обе первые опции, то новая опция никогда не будет иметь эффекта, поскольку эти опции доступны только для чтения для системных бейджей. Уместно ли помечать её как настройку только для чтения для таких бейджей, но оставлять её настраиваемой для всех остальных системных бейджей?
Наконец, вопрос ко всем заинтересованным: какие системные бейджи должны по умолчанию иметь эту опцию включённой?
Очень верные замечания, спасибо за глубокий анализ!
Да, я думаю, вы на верном пути.
На данный момент, мне кажется, нам не хватает структурированного подхода к этому.
Я думаю, нам понадобится что-то вроде:
Но с более качественным текстом. ![]()
Что вы думаете, @ella (наш админ-дизайн-лидер)?
Спасибо за идею, Чарли, думаю, это может сработать.
Я не смог найти примеров такого интерфейса в админ-панели Discourse, поэтому собрал его сам. Он ещё требует доработки (и, возможно, нуждается в улучшении текстов!
), но уже даёт общее представление о том, как это может работать.
Я склоняюсь к тем, что относятся к категории «Публикация».
Согласен, добавление структуры здесь сделало бы всё гораздо понятнее, например:
Использование
- Разрешить использование значка в качестве заголовка
- Можно выдавать несколько раз
Видимость
- Показывать значок на публичной странице значков
- Показывать пост, в котором был выдан значок, на странице значка
- Показывать значок в посте, за который он был выдан
Для всплывающей подсказки как насчёт следующего:
Требует включения обоих параметров: «Показывать значок на публичной странице значков» и «Показывать пост, в котором был выдан значок, на странице значка».
Хорошие новости, друзья!
Этот PR только что был принят!
@ganncamp Я тоже развернул это на вашем сайте. ![]()
Это отличная новость!!! Спасибо!
Ладно… дарёному коню в зубы не смотрят…
Отображение немного разочаровывает:

Я попробую что-то сделать с этим с помощью CSS.
Редактирование: добавление CSS
// Увеличить размер значков, отображаемых в постах
.topic-meta-data .user-badge-buttons {
transform: scale(1.3);
margin-left: 0px;
}
А то, что нельзя изменить через CSS, — это порядок элементов. Меня удивляет, что значок находится между отображаемым именем и именем пользователя. Можно ли это изменить?
Спасибо за обратную связь, @ganncamp! ![]()
Вы правы, это действительно выглядит немного странно, когда бейдж размещён между именем пользователя и отображаемым именем. Я посмотрю, что можно сделать.
Когда вы говорите об изменении порядка, вы имеете в виду эту проблему или также хотите изменить порядок отображения бейджей, если одному посту присвоено несколько бейджей?
Отлично! Я немного перераспределил элементы в этом PR:
Вот несколько скриншотов с вариантами различных заголовков постов:




Да. Меня (пока
) не беспокоит порядок значков.
Я объединил и развернул эти изменения на вашем сайте, @ganncamp! ![]()
Спасибо!
А вот мой финальный CSS для тех, кому интересно:
// Сделать бейджи, отображаемые на постах, крупнее и ярче
.topic-meta-data .user-badge-buttons .svg-icon {
transform: scale(1.3);
// это та часть, что делает их «ярче»
border-radius: 50%;
background-color: var(--highlight-bg);
border-width: 2px;
border-style: solid;
border-color: var(--highlight);
padding: 4px;
}
Результат:

Эта тема была автоматически закрыта через 2 дня. Новые ответы больше не принимаются.


