Дни рождения и годовщины в Discourse сегодня (баннер)

:information_source: Краткое описание Добавляет баннер на сайт для отображения сегодняшних годовщин и дней рождения.
:eyeglasses: Предпросмотр Theme Creator
:hammer_and_wrench: Репозиторий GitHub - NateDhaliwal/Discourse-Birthdays-Anniversaries-Today
:question: Инструкция по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

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

:backhand_index_pointing_right: Теперь, когда плагин Cakeday включён в ядро, нет необходимости отдельно устанавливать плагин для использования этого компонента темы.

Обзор

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

Настройки

Настройка banner_location позволяет выбрать место размещения баннера. Доступные варианты:

  • above-site-header
  • below-site-header
  • above-main-containter

Настройки banner_text_color и banner_background_color изменяют соответственно цвет текста и фон баннера. Вы можете использовать переменные CSS Discourse, такие как var(--primary) или var(--tertiary), либо шестнадцатеричные значения цветов.

Также настройки anniversaries_text и birthdays_text позволяют использовать плейсхолдер %{count} для отображения количества пользователей, отмечающих соответствующее событие.

Отображаемые пользователи не получают уведомление (ping): для их показа используется тег <a class="mention">. Карточки пользователей всё равно будут отображаться при клике на них.

Скриншоты:

На компьютере:


На мобильном устройстве:


Дополнительная информация

Данные для отображения пользователей получаются из /cakeday/anniversaries/today.json и /cakeday/birthdays/today.json.

Идея возникла у меня, когда я просматривал Discourse и подумал: раз плагин Cakeday уже установлен, почему пользователи не отмечают дни рождения и годовщины других участников? Мы делали нечто подобное на форуме, где я раньше участвовал, и здесь тоже, на Meta. С помощью этого компонента темы вы можете поздравлять пользователей с их особыми днями, способствуя созданию более инклюзивного сообщества.

9 лайков

Теперь вы можете настроить цвета фона и текста баннера.

Возможно, я добавлю оператор @if, чтобы использование ключевого слова var() стало необязательным.

1 лайк

Привет, спасибо за это. Можно ли не показывать баннер, когда данных нет, вместо сообщения о том, что отображать нечего?

3 лайка

Без проблем, я всё равно планировал это сделать.

2 лайка

Это будет недоступно некоторое время, пока я исправляю проблему. Мне пришлось обновить несколько геттеров на правильные имена и отладить их. Всё ещё работаю над этим.
РЕДАКТИРОВАНИЕ: Всё снова работает. Позвольте мне провести финальное тестирование для нового параметра.

2 лайка

ОБНОВЛЕНИЕ: возникли некоторые проблемы с настройкой, управляющей этим. Я подозреваю, что это связано с использованием асинхронного fetch(). Я скоро ещё раз это проверю.

1 лайк

Помечаю это как broken, пока я это исправляю.

@patrickemin Всё готово! Теперь вы можете использовать настройку hide_unused_data, чтобы скрыть пустые даты годовщин или дней рождения.
Извините за задержку — я был за границей.

2 лайка

Здравствуйте, над контейнером отображается пустая синяя строка, так как у меня нет данных для показа:

1 лайк

Понял, я займусь исправлением!

2 лайка

Я вернулся, чтобы это исправить. Провёл серьёзную переработку кода, чтобы всё упростить. Также, если в этот день нет юбилеев или дней рождения, блок автоматически скрывается. (Я также перевёл описания TC и настроек.)

Добавлены два новых параметра: anniversaries_text и birthdays_text. Вы можете использовать плейсхолдер %{count} для отображения количества пользователей, отмечающих это событие.

Сообщайте, если столкнётесь с какими-либо ошибками или проблемами!

Сколько же раз я написал «юбилеи» и «дни рождения» :face_exhaling:

2 лайка