Buscando un editor de texto en el navegador con tokens en línea

Estoy tratando de construir un sistema que permita a los usuarios generar una plantilla de texto que pueda tener tokens predefinidos específicos mezclados, accesible a través de un navegador. (Imagine un sistema de combinación de correo, donde el documento se compone completamente de 2 cosas: texto estático y tokens que representan un valor de base de datos).

Me gustaría poder insertarlo en una página HTML como un elemento de cuadro de texto ordinario, excepto que los tokens son algo distinto del texto; son su propio tipo de elemento, se insertan en línea en el texto escrito y no se pueden editar ni seleccionar parcialmente como texto, solo se pueden eliminar, copiar, cortar o pegar como un elemento atómico. Debería tener alguna forma para que el editor recupere una lista de valores de token válidos del servidor cuando se carga la página, y una forma intuitiva para que el usuario ingrese un nuevo token en la posición del cursor.

Sé que he visto cosas como esta en línea en el pasado, pero buscar en Google no muestra nada útil. Encuentro bibliotecas de edición de código con resaltado de sintaxis, o bibliotecas de edición HTML WYSIWYG, ninguna de las cuales es lo que realmente estoy buscando.

¿Alguien sabe dónde podría encontrar un componente de este tipo?

Aunque no entiendo muy bien la pregunta. ¿Puede ayudar un editor de rebajas como stackedit?

Respuestas (2)

Tenía el mismo requisito y hasta ahora he encontrado un par de opciones:

Tampoco es ideal. Tokchi parece estar algo desactualizado (sin compatibilidad con npm / bower, por ejemplo), y Textcomplete le permite elegir de una lista desplegable, pero no muestra el texto insertado con estilo de token (AFAICT).

Esto parece ser simplemente algo similar a cómo funcionan BB Code y los emoticonos en la mayoría de los foros. Donde ocurre la magia es en el back-end, cuando la entrada generada por el usuario se vuelve a poner y los tokens se reemplazan con los valores de db. Casi todo el tiempo esto se hace a través de la programación del lado del servidor, no del lado del cliente javascript, etc.

Cualquiera de los editores WYSIWYG que haya encontrado que le permitan personalizar los menús funcionará; simplemente configure un menú personalizado de "tokens" que tenga su lista predefinida de posibles inserciones.