Кнопка категории отслеживания Discourse

:discourse2: Краткое описание Watch Category Button добавляет маркерный элемент span, который превращается в кнопку «Следить за этой категорией» в сообщениях.
:hammer_and_wrench: Репозиторий https://github.com/pacharanero/discourse-watch-category-button
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

Установить этот компонент темы

:information_source: Этот компонент темы использует сеанс авторизованного пользователя для обновления уровней уведомлений категории; ключи API не требуются.

Возможности

  • Добавление кнопки «Следить за этой категорией» внутри сообщений с использованием безопасного для санитайзера элемента span.

  • При нажатии на кнопку уровень уведомлений категории для текущего пользователя устанавливается в режим Следящий для текущей категории или категории, выбранной по CategoryId.

  • Только сообщения, авторизованные разрешёнными группами (по умолчанию: staff), преобразуются в кнопки (это сделано для снижения риска неправильного использования этого компонента темы с целью заставить людей следить за категориями введением в заблуждение).

  • Поддерживается выбор конкретной категории по ID или текущей категории сообщения.

  • Интегрируется с существующим функционалом уведомлений о слежении в Discourse, не изменяя способ управления статусом слежения пользователем в настройках, по категориям или в подписках на уведомления по электронной почте.

Использование

Установка конкретной категории

<span data-watch-category="3">Следить за этой категорией</span>

Использование категории текущего сообщения

<span data-watch-category="current">Следить за этой категорией</span>

Результат:

Настройки

Этот компонент пока не включает настройки темы. Это будет сделано в ближайшее время, после того как я убедлюсь, что в нём нет серьёзных ошибок и что он может быть полезен другим людям.

Вопросы безопасности и конфиденциальности

  • Эти кнопки могут создавать только пользователи из группы Staff (на данный момент).
  • Требуется явное нажатие пользователем для изменения настроек уведомлений.
  • Ключи API не используются; система полагается на сеанс авторизованного пользователя.

Идеи для развития

  • Сделать настраиваемыми через настройки темы группы, которые могут создавать кнопки.
  • Сделать настраиваемым через настройки темы стиль кнопки.
  • Сделать настраиваемым уровень уведомлений (например, Отслеживание, Следящий, Отключено).

Вклад в развитие

Я с радостью принимаю вклад! Пожалуйста, открывайте проблемы или запросы на слияние в репозитории GitHub. В идеале давайте улучшать этот компонент, а не делать форк для изменения ALLOWED_GROUPS или других незначительных правок.

Связанные темы

При исследовании вопроса о том, был ли этот компонент темы уже создан, я нашёл несколько тем с запросами на аналогичный функционал:

Change notification level with a link
Can I create a link to subscribe to a category? - #3 by david
Make watching a category more prominent for users
Notification setting button with context

6 лайков