Шаблоны дискурса

:discourse2: Краткое описание Discourse Templates позволяет создавать шаблоны контента для повторного использования. Шаблоны хранятся в виде тем в специальной категории, где их можно при необходимости редактировать и обсуждать.
:open_book: Руководство по установке Этот плагин входит в состав ядра Discourse. Отдельная установка плагина не требуется.

:information_source: Этот плагин представляет собой по сути новую версию Discourse Canned Replies, но он более гибкий и хранит шаблоны другим способом.

Возможности

Этот плагин использует одну или несколько категорий для хранения шаблонов для последующего использования. Первый пост в каждой теме этих категорий будет использоваться как шаблон для ответов.

Такой подход предоставляет гораздо больше возможностей, чем было доступно ранее с discourse-canned-replies, так как у каждого шаблона будет история редактирования, могут быть связаны теги, а последующие посты можно использовать для обсуждения содержания шаблона при необходимости.

В качестве шаблонов будут использоваться только видимые темы, поэтому темы, скрытые из списка или архивированные, отображаться не будут.

Плагин также использует настройки безопасности категорий для проверки того, какие пользователи могут использовать шаблоны. Если пользователь может читать темы в категории, то в редакторе сообщений появится опция «Вставить шаблон». Пользователь сможет видеть только те шаблоны/темы в категориях, к которым у него есть доступ.

Можно использовать несколько родительских категорий и/или подкатегорий для предоставления разных наборов шаблонов разным группам пользователей и для организации шаблонов.

Приватные шаблоны

Плагин также поддерживает приватные шаблоны. Приватные шаблоны — это личные сообщения, помеченные тегом шаблона. Эти сообщения будут доступны в качестве шаблонов только автору сообщения.

Архивированные сообщения не будут отображаться как шаблоны.

:bulb: Все ваши приватные шаблоны можно найти по адресу:
/u/{ИМЯ_ПОЛЬЗОВАТЕЛЯ}/messages/tags/{ТЕГ_ПРИВАТНОГО_ШАБЛОНА}

Настройки:

  • discourse templates enabled: Активирует плагин.
  • discourse templates categories: Категории, используемые для хранения шаблонов. Каждая тема в этих категориях и их подкатегориях будет использоваться как шаблон и будет доступна пользователям, которые могут видеть их в исходных категориях.
  • discourse templates enable private templates: Включает использование приватных шаблонов.
  • discourse templates groups allowed private templates: Группы пользователей, которым разрешено использовать приватные шаблоны.

:warning: Сотрудники всегда имеют разрешение.

  • discourse templates private templates tags: Теги, которые будут использоваться для маркировки личных сообщений как шаблонов.

Как использовать

После установки плагина необходимо создать хотя бы одну категорию для хранения шаблонов.

Обратите внимание: каждый пользователь, имеющий доступ для чтения тем в этой категории, сможет использовать функциональность плагина в редакторе сообщений.

:bulb: Полезный совет: Те же настройки, что и для редактирования тем, будут применяться к «шаблонным» темам. Если вы хотите, чтобы любой пользователь с правами на запись в категории мог редактировать существующие шаблоны, включите опцию По умолчанию создавать новые темы как вики в настройках категории.

После этого укажите категорию в настройках плагина.

Всё готово. Теперь вам нужно просто создать несколько тем в указанной категории, и они станут доступны для использования в качестве шаблонов.

При желании можно создать подкатегории для лучшей организации шаблонов или для предоставления разных наборов ответов разным группам пользователей.

Чтобы вставить шаблон, сначала откройте редактор ответа, нажмите кнопку «Дополнительно», а затем выберите опцию «Вставить шаблон».

Выберите нужный шаблон (можно искать по тексту или тегам) и нажмите на значок «вставить».

Горячие клавиши
На ПК можно использовать Ctrl+Shift+I, а на Mac — +Shift+I для вставки шаблонов.

:bulb: Горячие клавиши будут работать внутри любого текстового поля на Discourse.

Приватные шаблоны

:warning: Приватные шаблоны работают только на инстансах, где включены как личные сообщения, так и теги.

Для работы необходимо настроить следующие параметры Discourse:

  • tagging enabled: должно быть включено.
  • enable personal messages: должно быть включено, если вы хотите сделать функцию доступной для пользователей, не являющихся сотрудниками.
  • pm tags allowed for groups: необходимо разрешить группам, использующим приватные шаблоны, добавлять теги к личным сообщениям.

Чтобы использовать приватные шаблоны, сначала включите их в настройках, назначьте группы пользователей, которым разрешено их использовать, и укажите хотя бы один тег для маркировки личных сообщений как шаблонов.

Чтобы создать личный шаблон, пользователи должны:

  • отправить незашифрованное личное сообщение самому себе с тегом, настроенным в параметрах плагина. Только автор сообщения сможет видеть его как приватный шаблон.

:bulb: Личные сообщения, отправленные другим пользователям, также могут быть помечены тегами, но использовать их в качестве шаблона сможет только автор сообщения.

Предварительно заполненные переменные

Плагин поддерживает следующие переменные в шаблонах:

  • my_username
  • my_name
  • topic_title
  • topic_url
  • original_poster_username
  • original_poster_name
  • reply_to_username
  • reply_to_name
  • last_poster_username
  • reply_to_or_last_poster_username.

Все вышеперечисленные переменные поддерживают текст по умолчанию (fallback). Если текст по умолчанию не указан и переменную невозможно заменить, она будет удалена.

Замена переменных поддерживается как в заголовке, так и в теле сообщения.

Пример:

Привет, %{reply_to_username,fallback:все},

...

С уважением,
%{my_name}

Если reply_to_username недоступен, шаблон будет выглядеть так:

Привет, все,

...

С уважением,
Arpit Jalan

Миграция с discourse-canned-replies

Существует задача Rake для миграции существующих заготовленных ответов в шаблоны:

rake "discourse-templates:migrate-from-canned-replies"

На Meta эта задача заняла всего несколько секунд для миграции 47 заготовленных ответов, поэтому её можно безопасно использовать, если у вас не огромное количество заготовленных ответов.

TODO

  • расширить функциональность на другие места, помимо редактора сообщений :white_check_mark:
  • разрешить использование более одной родительской категории в качестве источника шаблонов :white_check_mark:

Журнал изменений

  • 2022-07-14T03:00:00Z: Добавлена возможность использования нескольких родительских категорий в качестве источника для шаблонов.
  • 2022-07-18T03:00:00Z: Приватные шаблоны.
  • 2022-08-10T03:00:00Z: Глобальные горячие клавиши.
44 лайка
Canned Replies by Group
Discobot Type Message Automation
Canned respones location
Option to allow Category Moderators to use canned-replies?
It would be helpful to be able to use the To: username (in PMs) for Templates
Plugin causing errors during rebuild
Canned reply hotkeys?
Poll-restriction
Is it possible to block a category from Upcoming Events?
I'm working to build a "marketplace" on top of Discourse. Would love some suggestions/feedback
Balancing Costs and Functionality in AI-Powered Forums
Canned Replies without extra lines
Canned Replies without extra lines
Add the option to insert the component's 'Reply Template' code to the composer's toolbar
Exploring Discourse as a Learning Management System
Template Button Relocation
Enforce discourse template by category and /or tag
Discourse Category Lockdown
Give me some control of how the form template post is styled
Can I customize the welcome message shown when creating a new topic based on the chosen tag or category?
Advice on a support forum
More efficient (inline) template usage
Will uninstalling a plugin leave any residual debris files in the database?
Build Poll not showing under Post Settings
Feedback on Our Community
How are we all feeling about ChatGPT and other LLMs and how they'll impact forums?
Daily Summary (5am UTC)
General Question About Saved Replies
Using template with a [wrap] code while in Rich Text Editor not working
Bundling more popular plugins with Discourse core
Plugin causing errors during rebuild
Using topic templates for categories
Speak with the Discourse product team about moderation
Templates for Staff Notices
Check boxes and Mandatory fields in Topic templates?
Time tracking using Discourse?
Send a message to an inactive group
Canned Replies without extra lines
Discourse template plugin added itself to my discourse?
Community Guide: Activating Lurkers
Ability to Create Private Templates
Ability to Create Private Templates

Где можно запросить новую функцию? Я вижу, что трекер задач для связанного репозитория на GitHub отключён. Мне хотелось бы иметь возможность вставлять ответы «встроенно», то есть в середине предложения. Я уже запрашивал эту функцию для предыдущего плагина, и там была какая-то (кажется, позитивная) дискуссия на эту тему, но я не смог её найти.

Мне очень часто нужно составлять ответы, содержащие, например, GitHub Issue в середине предложения:

  • Если вы хотите запросить [функцию] как новую возможность, пожалуйста, откройте GitHub Issue
  • [Функция] недостаточно документирована, для повышения её заметности уместно открыть GitHub Issue.
  • [Некоторое поведение] кажется ошибкой, пожалуйста, откройте GitHub Issue с полным описанием.

У меня много подобных шаблонов, и я постоянно использую их в нашем форуме поддержки пользователей.

В общем, я хотел бы иметь возможность вставлять шаблоны точно в текущую позицию курсора. Очень раздражает, когда шаблон вставляется на новой строке с ещё одной пустой строкой сверху, и приходится вручную удалять все эти пробелы, чтобы вернуть текст на прежнее место курсора, несколько раз в день. Я просто хочу как можно быстрее набирать свои ответы.

Ещё лучше было бы иметь текстовый способ вставки этих шаблонов без использования мыши или меню.

Вы можете создать тему в #feature с тегом templates

4 лайка

Пост был перенесен в новую тему: Создать рекламную страницу

3 сообщения были перенесены в новую тему: Список шаблонов загружается 5–10 секунд

:partying_face: Этот плагин теперь включён в ядро Discourse в рамках Bundling more popular plugins with Discourse core. Если вы используете собственный хостинг и применяете этот плагин, вам нужно удалить его из файла app.yml перед следующим обновлением.

2 лайка

Могут ли шаблоны помочь создать список готовых ответов на письма для заявителей, пытающихся зарегистрироваться на моём форуме? Часто мне нужно отклонять заявки на основе информации, предоставленной при регистрации, и объяснять причины, предлагая, что нужно изменить для повторной подачи заявки.

Мне нужен выпадающий список с готовыми ответами для вставки в поле «Причина отклонения» (это гораздо удобнее, чем метод копирования и вставки из внешнего текстового файла, к которому я сейчас вынужден прибегать).

Пока я не нашёл очевидного способа использовать шаблоны для этой цели, хотя для меня, как администратора, это был бы самый востребованный сценарий их применения.

Вы отправляете и получаете ответы через Discourse?

Вы можете использовать шаблоны во многих полях ввода, где не отображается панель инструментов, используя сочетание клавиш ctrl + shift + i

4 лайка

@Hawk Да, отправляю через поле «Почему вы отклоняете этого пользователя» при удалении пользователя, который не был одобрен.

Это хорошо!
Ещё лучше, чем необходимость запоминать сочетание клавиш (которое в моём случае использовалось бы, возможно, раз в месяц и, следовательно, забылось бы), — это небольшая кнопка рядом с каждым пустым полем для вызова поддиалога шаблонов.

1 лайк

Да, эта кнопка также была бы полезна для создания официальных уведомлений, заметок о пользователях и т. д.

Обычно я использую справку по сочетаниям клавиш в боковой панели или нажимаю ?, чтобы узнать, что это «i». (Я пытался запомнить «insert template», но это работало не очень хорошо, так как я не мог найти немецкое выражение, начинающееся на «i»).

2 лайка

Возможно ли будет получить доступ к этим шаблонам в новом редакторе по ссылке? Например, совместимость с Creating a link to start a new topic with pre-filled information?