Как ввести специальное форматирование, например [wrap], в текстовом поле автоматизаций?

Допустим, я хочу использовать компонент пользовательское поле-подсказка в личном сообщении, которое я отправляю пользователям в качестве приветственного сообщения, чтобы запросить у них дополнительную информацию. Как мне ввести это в текстовом поле, которое предлагает плагин автоматизации? Моя проблема в том, что я не могу переключиться на редактор Markdown в интерфейсе, поэтому моя обертка всегда экранируется.

Недавно мы добавили поддержку [wrap] в редакторе форматированного текста

но я не уверен, доступен ли он только в «композере» или в любом редакторе :thinking:

@renato, есть какие-то идеи?

3 лайка

Мой форум всё ещё находится на https://github.com/discourse/discourse/commits/0e0e716e0d, так что, возможно, мне просто нужно подождать обновления.

Да, я только что протестировал, и это должно работать и там (хотя я не уверен, намеренно ли включён в этой области богатый редактор…).

Да, скорее всего, пожалуйста, сообщите нам, если после обновления возникнут какие-либо проблемы.

1 лайк

Использовать его после обновления можно, но единственный способ ввода, который я нашёл, — это набрать всё вручную. Я не могу просто скопировать пример с meta, а так как меню недоступно в поле, где я ввожу сообщение для автоматизации, я не могу воспользоваться и подсказкой ввода обёртки.
Но, возможно, я просто делаю что-то не так? Обычно я не использую визуальный редактор (RTE), поэтому, возможно, я не знаю нужного приёма. Хотя я также испытывал трудности с подсказкой ввода обёртки в редакторе Markdown, так что, возможно, проблема во мне, а не в программе.

1 лайк

Не могли бы вы рассказать об этом подробнее?

Компонент редактора, в котором вы создаете сообщения, отправляемые автоматизацией, не предлагает меню , поэтому нет подсказок по вводу для форматирования wrap.
В целом, я плохо запоминаю правильные клавиши. Поэтому обычно, если я хочу использовать wrap, например, чтобы добавить иконку, как я сделал выше, я заглядываю в тему на Meta (Discourse Icon), копирую пример, вставляю его в свой редактор и меняю имя иконки. Я делаю то же самое для Placeholder Forms, Reply Template и User Field Prompt.

При вставке этих примеров в RTE они экранируются, поэтому не работают :woman_shrugging: Таким образом, единственный способ, который я нашел, чтобы, например, добавить подсказку поля пользователя в это поле — это ввести его вручную, хотя я предпочитаю начинать с примера из темы как с шаблона.

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


Вы не просили подробностей об этом, но, возможно, вы все еще можете помочь. Как мне использовать опцию wrap в меню «плюс», когда я использую markdown-редактор для добавления обертки иконки? Синтаксис — [wrap=icon id=circle-plus][/wrap], поэтому я подумал, что сделаю так:

Это приводит к следующему результату:

[wrap =icon id=circle-plus]
Содержимое обертки
[/wrap]

что не работает. Я имею в виду не плейсхолдер для содержимого. Моя проблема — это пробел между wrap и =icon, который ломает конструкцию.

2 лайка

Вам нужна ещё какая-либо информация?

1 лайк

Это должно быть исправлено после слияния FIX: formatting of wrap tag in composer.js (markdown mode) by renato · Pull Request #38608 · discourse/discourse · GitHub.

У меня пока нет полного решения этой проблемы, но я вас понимаю. Дело в том, что при копировании блока кода естественным ожиданием в богатом редакторе является отображение блока кода. Если в буфере обмена содержится только источник text/plain, он будет распарсен как Markdown, но если в буфере обмена также есть полезная нагрузка HTML, она будет обработана как есть.

Тем не менее, я считаю, что мы не должны принудительно включать богатый режим для автоматизации, что должно быть исправлено после слияния UX: let automation d-editor respect user's editor mode preference by renato · Pull Request #38622 · discourse/discourse · GitHub.

3 лайка

Спасибо! Теперь я могу вставлять обёртки в режиме Markdown.

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


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

1 лайк