Плагин для экспертов по тегам

Сначала немного контекста — я недавно радикально перестроил свой форум, которому более 20 лет, чтобы избавиться от примерно 100 категорий и подкатегорий, которые формировались годами, и вместо них оставил всего 3 категории, в которые могут писать пользователи, используя теги для разделения тем по интересам. Думаю, мои пользователи сейчас гадают, не потерял ли я рассудок :laughing:.

Одной из жертв этого изменения, о которой я не подумал, пока не стало слишком поздно, стали эксперты по категориям. Я включил эту функцию для нескольких категорий, но теперь, когда я сделал экспертов из этих конкретных категорий экспертами для огромных категорий, это уже не имеет особого смысла. С одной стороны, это нормально, потому что эксперты — хорошие люди и вне своей области знаний, но странно видеть, что сообщения помечаются как экспертные ответы, когда ты знаешь, что эксперт, отвечающий на вопрос, на самом деле является специалистом в другой области.

Так что я задаюсь вопросом: (1) возможен ли плагин «Эксперт по тегам» и (2) может ли это быть рассмотрено для добавления в будущем?

Редактирование: я должен добавить, что это доска для хобби без какого-либо дохода (кроме моей пенсии), поэтому я не могу предложить никакого финансирования!

4 лайка

Плагин «Tag Expert» вполне реализуем. Учитывая сложность плагина «Category Expert», я не думаю, что стоит пытаться интегрировать его в этот плагин. Вероятно, проще создать новый плагин.

Команда Discourse, конечно, не планирует создавать такой плагин, но идея отличная, и написать его не так уж сложно (конечно, в зависимости от набора функций). Вы можете попробовать использовать ИИ, чтобы помочь вам создать что-то подобное!

4 лайка

Исходя из моих текущих знаний Ruby (довольно ограниченных) и взгляда на код Category Experts на GitHub, который полон загадочных вещей вроде контроллеров, моделей и сериализаторов, я не уверен, что согласен с этим. Думаю, мне сначала нужен был бы интенсивный курс по тому, как работают плагины Discourse, чтобы даже ИИ мог мне помочь!

3 лайка

Что ж, если вам нужно лишь «отображать посты в теме с тегом X, созданные пользователями из группы A, иначе», то контроллеры и модели не нужны. Изменения будут гораздо проще. Достаточно добавить настройку сайта для определения конфигурации «тег ↔ группа», а затем расширить сериализаторы topic_list_item и post_serializer, добавив доступный атрибут, например tag_expert_post.

(Извините, я понимаю, что это очень детальная информация)

5 лайков

Если бы это было всё, то у вас уже были бы все нужные селекторы в документе. Следовательно, вы можете стилизовать это с помощью CSS. Схема будет следующей:

найти тему по тегу
  найти пост участника из основной группы
     стилизовать часть поста

Например:

body.tag-expert-1 { 
  .topic-post.group-tag-experts-1  {
    .cooked {
      ...
    }
  }
}

Это будет работать только для основных групп, так как они добавляются к посту в виде класса.

Тогда вы сможете получить, например:

Или задать немного разные стили для разных групп экспертов:

Недавно я делал что-то подобное:

5 лайков