Постоянный баннер Discourse

:information_source: Краткое описание В верхней части каждой страницы отображается постоянный баннер, который могут скрыть только администраторы.
:eyeglasses: Предпросмотр Theme Creator
:hammer_and_wrench: Репозиторий GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user. · GitHub
:question: Инструкция по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

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

Этот компонент отображает баннер в верхней части каждой страницы. Можно использовать любые допустимые цвета CSS. Если вы планируете использовать переменные тем Discourse, оберните их в var(), чтобы получить что-то вроде var(--tertiary-very-low).


Для управления баннером существует 7 настроек.

  1. banner_background_color изменяет цвет фона баннера.
  2. banner_text_color изменяет цвет текста баннера.
  3. banner_border_color изменяет цвет границы баннера.
  4. banner_border_thickness изменяет толщину границы баннера.
  5. banner_text_content изменяет текст баннера. Если текст длиннее одной строки, он будет переноситься внутри баннера.
  6. banner_visible управляет видимостью баннера. Значение show отображает баннер, hide скрывает его.
  7. banner_location размещает баннер в одном из 4 доступных мест: above-site-header, below-site-header, above-main-container и before-topic-list.

Особая благодарность @Lilly за помощь в сортировке файлов!

4 лайка

Мне кажется, это довольно похоже на компоненты темы «Уведомительные баннеры», но с более широкими возможностями настройки.

2 лайка

Да, но в этом случае баннер остаётся на месте (люди спрашивали, как вернуть баннер после его закрытия).

2 лайка

Отличная работа, Нейт. :clap: :slight_smile:
Мне нравится простота.

Кажется, предпросмотр создателя темы не работает. :thinking:

Несколько предложений на ваше рассмотрение:

  • На десктопной версии есть небольшая проблема с расположением, особенно при использовании широкого или полноэкранного режима.

  • Было бы здорово иметь возможность контролировать размер и цвет этой границы.

  • Возможно, стоит добавить варианты размещения для разных мест вставки плагинов, например, below-site-header и above-main-containter?

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

  • Я предлагаю сделать настройку текста баннера текстовым полем с параметром textarea: true. Тогда у пользователя появится многострочное текстовое поле, которое можно растягивать. Это упростит выполнение таких действий:

2 лайка

Я поэкспериментирую с расположением баннера и постараюсь решить эту проблему.

Это не должно стать большой проблемой, я добавлю эту возможность.

Понял. У меня уже есть идея, как это реализовать.

Думаю, я смогу это реализовать.

Понял, я добавлю это.

1 лайк

@Lilly Просто уточню: нужно ли добавить это в settings.yml?

1 лайк

Да, вы можете увидеть это здесь, в универсальном компоненте баннера:

результат в настройках компонента:

2 лайка

Реализовано.

Сделано.

Теперь можно использовать значения hex (включая символ #), допустимые цвета CSS или переменные темы (var(–var-name)).

Тоже сделано.

Думаю, это исправлено. Не могли бы вы проверить это на своей стороне?

2 лайка

Это точно исправлено. Отличная работа. :smiley: :discourse:

скриншот с моего широкоформатного рабочего стола

3 лайка

ОБНОВЛЕНИЕ:
Я упростил файл .gjs, перенеся проверки if на пустоту текста баннера и его видимость в файл .scss.

2 лайка