Шаблоны Discourse

: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: Сотрудники (Staff) всегда имеют доступ.

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

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

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

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

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

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

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

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

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

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

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

: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 недоступен, шаблон будет выглядеть так:

Привет, там,

...

С уважением,
Арпит Джалан

Миграция с 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
It would be helpful to be able to use the To: username (in PMs) for Templates
Option to allow Category Moderators to use canned-replies?
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
Exploring Discourse as a Learning Management System
Template Button Relocation
Enforce discourse template by category and /or tag
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?
Plugin causing errors during rebuild
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
Discourse Category Lockdown
Advice on a support forum
Add the option to insert the component's 'Reply Template' code to the composer's toolbar
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 с полным описанием.

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

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

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

Вы можете создать тему в Contribute > 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?