Компонент темы «Кнопка для записи»

:page_facing_up: Описание Discourse Custom Post Button превращает ссылки в постах Discourse в стилизованные кнопки.
:hammer_and_wrench: Репозиторий github.com/koloki-co/discourse-custom-post-button
:question: Руководство по установке Установка темы или компонента темы
:books: Вы новичок в темах Discourse? Начальное руководство по использованию тем Discourse

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

Это компонент темы сообщества, поддерживаемый Koloki Ltd. Это не официальный компонент Discourse. Он находится в альфа-версии, поэтому могут быть ошибки. Пожалуйста, сообщайте об ошибках и просите о новых функциях в репозитории GitHub.

Скриншоты

Кнопки

Конкретный пример использования: кнопка «Задайте вопрос через ЛС»

Функции

  • Превращает обычную ссылку в кнопку в любом месте темы или поста с помощью [wrap].
  • Предоставляет настраиваемые на уровне TC (компонента темы) значения по умолчанию для цвета фона, радиуса скругления, отступов, жирности шрифта, цвета текста и прозрачности при наведении; в противном случае используются значения по умолчанию вашего сайта.
  • Позволяет отдельной кнопке переопределять цвет фона по умолчанию.
  • Поддерживает пояснительный текст рядом с кнопкой.
  • Содержимое под кнопкой остается обычной ссылкой, поэтому кнопки могут открывать внешние страницы или внутренние маршруты Discourse, такие как /new-message.

ВАЖНО: Если этот TC установлен, любой пользователь вашего форума может создавать такие кнопки. Чтобы ограничить возможность создания кнопок определенными пользователями, потребовался бы полный плагин. Однако на практике пользователям нужно знать, что он установлен и как создать кнопку, поэтому я подозреваю, что мало кто будет знать, как это сделать. Вы можете также использовать Наблюдаемые слова, чтобы фильтровать посты с [wrap=custom-button] для проверки, что ограничит эту функциональность.

Установка

В Администрирование > Внешний вид > Темы и компоненты, откройте вкладку Компоненты, выберите Установить и выберите Установить из URL Git-репозитория. Используйте:

https://github.com/koloki-co/discourse-custom-post-button

После установки добавьте компонент в каждую активную тему, где он должен быть доступен.

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

Базовая кнопка

Будет использован цвет кнопки по умолчанию из настроек TC

[wrap=custom-button][Текст вашей кастомной кнопки](https://example.com)[/wrap]

Настройка цвета для конкретной кнопки

[wrap=custom-button color=#7CC146][Текст вашей кастомной кнопки](https://example.com)[/wrap]

Кнопка, за которой следует пояснительный текст

[wrap=custom-button][Текст вашей кастомной кнопки](https://example.com)[/wrap]
[wrap=text-after-button]Дополнительный пояснительный текст[/wrap] (на новой строке)

Открытие личного сообщения группе

(Примечание: Это использует встроенную функциональность Discourse для открытия редактора с предзаполненным текстом — эта часть функциональности не исходит от компонента темы, я просто использую это для демонстрации возможного примера использования. Требует, чтобы настройки группы позволяли отправлять ЛС этой группе.)

[wrap=custom-button][Задайте вопрос](/new-message?groupname=somegroup&title=Aask%20Us&body=Please%20type%20your%20question%20here.)[/wrap]

Используйте slug-имя группы (name), а не ее «Полное имя», и URL-кодированные значения параметров. Настройка группы Кто может писать в эту группу? по-прежнему определяет, кто может открыть адресованный редактор, а вышедшие из системы посетители будут попросить войти в систему.

Настройки

Настройка Назначение
button_default_color Цвет фона и границы кнопки по умолчанию
button_border_radius Радиус скругления углов кнопки
button_padding Отступы вокруг подписи кнопки
button_font_weight Жирность подписи кнопки
button_text_color Цвет подписи кнопки
button_hover_opacity Прозрачность кнопки при наведении

Компонент также предоставляет настройку svg_icons для доступных иконок темы, но в настоящее время он не вставляет иконку в кнопку поста. Я добавлю эту функцию, если на нее будет спрос.

Примечания

  • Компонент изменяет только представление. Кнопки остаются ссылками, а разрешения на доступ к пунктам назначения не изменяются.
  • Почтовые клиенты и другие среды, которые не загружают активную тему Discourse, могут отображать основную ссылку без стилизации кнопки.
  • Компонент лицензирован по лицензии MIT.

Компонент вырос из того же полезного паттерна [wrap], который обсуждался в Как вставить кнопку в пост темы.

6 лайков

Вы вступили в группу @theme_authors?

6 лайков

Заявка на вступление отправлена, спасибо

3 лайка

Я принял тебя и сразу перенёс тему :slight_smile:

3 лайка