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

Пожалуйста, пусть кто-нибудь из @staff рассмотрит возможность перемещения этой темы в Customization > Theme component, я не могу создавать новые темы там.

: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 установлен, любой пользователь вашего форума может создавать такие кнопки. Чтобы ограничить возможность создания кнопок определенными пользователями, потребовался бы полноценный плагин. Однако на практике пользователям нужно знать, что он установлен и как создать кнопку, поэтому, вероятно, мало кто будет знать, как это сделать. Вы также можете использовать Watched Words для фильтрации постов, содержащих [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]

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

Настройки

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

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

Примечания

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

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

1 лайк

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

3 лайка

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

1 лайк