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


