Ищем текстовый редактор в браузере со встроенными токенами

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

Я хотел бы иметь возможность вставлять его на HTML-страницу, как обычный элемент текстового поля, за исключением того, что токены отличаются от текста; они представляют собой собственный тип элемента, встроенный в набранный текст и не могут быть отредактированы или частично выделены, как текст, только удалены, скопированы, вырезаны или вставлены как атомарные элементы. У редактора должен быть какой-то способ получить список допустимых значений токенов с сервера при загрузке страницы, а также интуитивно понятный способ для пользователя ввести новый токен в позиции курсора.

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

Кто-нибудь знает, где я могу найти такой компонент?

Хотя я не очень хорошо понимаю вопрос. Может ли помочь редактор уценки, такой как stackedit?

Ответы (2)

У меня было такое же требование, и пока я нашел несколько вариантов:

Ни то, ни другое не идеально. Tokchi кажется несколько устаревшим (например, без поддержки npm/bower), а Textcomplete позволяет выбирать из раскрывающегося списка, но фактически не отображает вставленный текст со стилем токена (AFAICT).

Кажется, это просто похоже на то, как BB Code и смайлики работают на большинстве форумов. Волшебство происходит на бэкэнде, когда пользовательский ввод возвращается обратно, а токены заменяются значениями db. Почти все время это делается с помощью программирования на стороне сервера, а не javascript на стороне клиента и т. д.

Любой из найденных вами WYSIWYG-редакторов, которые позволяют настраивать меню, будет работать — просто настройте собственное меню «токенов», в котором есть заранее определенный список возможных вставок.