Пожалуйста, пусть кто-нибудь из @staff рассмотрит возможность перемещения этой темы в Customization > Theme component, я не могу создавать новые темы там.
| Краткое описание | Discourse Custom Post Button превращает ссылки в постах Discourse в стилизованные кнопки. | |
| Репозиторий | github.com/koloki-co/discourse-custom-post-button | |
| Руководство по установке | Установка темы или компонента темы | |
| Новичок в темах 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], который обсуждался в Как вставить кнопку в пост темы.


