Кнопка «Наблюдать за категорией» в Discourse

:discourse: Краткое описание 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 лайков