JS文本编辑器控件,具有灵活的动态视觉样式功能

JS text editor control with flexible dynamic visual styling capabilities

本文关键字:动态 视觉 功能 样式 文本编辑 文本 编辑器 控件 JS      更新时间:2023-09-26

我正在寻找一个JS文本编辑器控件为任何相同的框架,这将允许我颜色和其他样式的文本在运行时,用户键入它在一个自定义markdownesque格式。

注意,实际的格式与Markdown有很大的不同,所以我不能简单地重用一些现有的Markdown编辑器。此外,这个东西的目的是帮助用户进行半结构化的数据输入,而不是花哨的文本格式本身。

除了样式化文本,我还希望能够根据用户键入的内容在文本中动态插入UI元素(例如,按钮)。

我还必须能够以某种或多或少有效的方式在后台将更改发送到服务器端。我认为我无论如何都需要在那里编写一些自定义回调,但是如果控件能够为此提供一个舒适的框架(或者至少如果它不会妨碍我的方式),那将是很酷的。

支持撤销/重做和复制/粘贴等常用功能当然是必须的。

一个愚蠢的综合例子来阐明我想要能够编码的规则:

:

<>之前——Foo酒吧{绿}*巴兹*——Alpha {red}之前

样式:

  • Foo所在行到Alpha之前行,背景色为绿色
  • Line with Alpha: red background
  • Word *Baz*(连同星号)以粗体显示。
  • FooAlpha旁边的文字:带有垃圾桶图像的按钮,如果按下删除当前--到下一个文本的整个部分。
  • 当用户按返回--一行时,光标在下一行的位置自动缩进。
  • 如果用户在行(缩进)的开头输入--,则开始新的部分并且行不缩进。(实际缩进字符/空格/必须出现在文本中。)
请注意,我希望这些视觉样式在编辑器中作为用户类型应用。在本例中,如果用户将{green}更改为{blue},则背景颜色也应相应更改。

查看Yahoo富文本编辑器。它是开源的