Rich-Markdown-Editor:Reaction Dropbox纸张克隆

2020-06-09 10:23:49

一种基于Reaction和Prosemirror的编辑器,支持大纲,也可用于以只读方式显示内容。编辑器是所见即所得,包括格式化工具,同时保留内联编写标记快捷方式和输出普通标记的能力。

重要说明:此项目不是试图成为一个通用的降价编辑器。它是为大纲知识库而构建的,虽然欢迎其他人在您自己的产品中派生或使用该包,但开发决策是以大纲的需求为中心的。

此编辑器的唯一ID,用于保存折叠标题等设置。如果没有传递id,那么编辑器将默认使用位置路径名。

表示编辑器初始值的标记字符串。使用此工具可恢复以前保存的内容,以供用户继续编辑。

将readOnly设置为false时,编辑器针对合成进行了优化。如果为true,则编辑器可用于显示以前编写的内容-标题、获得锚点和链接变为可点击。

如果设置为true,同时将readOnly设置为false,则自动在文档末尾聚焦。

允许覆盖内置主题来标记编辑器,例如使用您自己的字体和品牌颜色来使编辑器适合您的应用程序。有关应该提供的键的示例,请参阅内置主题。

当Dark设置为true时,编辑器将使用包含在其中的默认黑色主题。请看这里的来源。

将围绕具有可选工具提示的项进行包装的Reaction组件。您可以使用它将您自己的工具提示库注入到编辑器中-该组件将传递以下道具:

将文档标题偏移多个级别的数字。例如,如果您已经将编辑器嵌套在主H1标题下,您可能希望用户只能创建H2标题及以下标题,在本例中,您可以将道具设置为1。

可选地定义当匹配器函数返回真值时将插入的嵌入,以代替链接。matcher方法的返回值将在pros.attrs.matches下的组件上可用。如果提供了标题和图标,则嵌入也将出现在块菜单中。

<;编辑器嵌入={[{title:";Google Doc";,Keyword:";Google Docs gdocs";,icon:<;GoogleDocIcon/>;,matcher:href=>;href.。Matches(/docs.google.com/i),组件:GoogleDocEmbed}]}/>;

如果希望编辑器支持图像,则必须提供此回调。回调应接受单个File对象,并在图像已上载到存储位置(例如S3)时返回解析为URL的承诺。例:

当用户使用键盘快捷键、Cmd+S或Cmd+Enter显式请求保存时,会触发此回调。您可以将其用作将文档保存到远程服务器的信号。

此回调在编辑器内按下Cmd+Escape组合键时触发。您可以使用它取消编辑。

此回调在编辑器内容更改时触发,通常是由于用户输入(如击键)或使用格式选项造成的。您可以使用它在本地持久化编辑器状态,请参见内置示例。

它返回一个函数,该函数在被调用时返回文档的当前文本值。进行此优化是为了避免在每次更改事件时将文档状态序列化为文本,从而允许主机应用程序选择何时需要序列化值。

此回调在loadadImage之前触发,可以用来显示一些用户界面,表明上传正在进行中。

编辑器提供了从“格式”工具栏搜索要插入的链接的功能。如果提供此回调,它应该接受一个搜索词作为唯一的参数,并返回一个解析为对象数组的承诺。例:

<;编辑器onSearchLink={异步搜索术语=>;{常量结果=等待MyAPI。搜索(SearchTerm);返回结果。MAP(结果=>;{标题:结果。名称,url:结果。url})}/>;

当编辑器希望向用户显示祝酒词消息时触发。挂钩到您的应用程序通知系统,或者简单地使用window.alert(Message)。第二个参数是一个稳定的标识符,如果您希望编写自己的副本,可以使用它来标识邮件。

此回调允许覆盖链接处理。通常情况下,您希望让外部链接打开一个新窗口,并让内部链接使用诸如Reaction-Router之类的东西来导航。如果未提供回调,则打开新选项卡的默认行为将应用于所有链接。例:

从";Reaction-Router";;<;编辑器onClickLink={href=>;{if(isInternalLink(Href)){History}导入{HISTORY}。Push(Href);}否则{Window。地点。href=href;}/>;

此回调允许处理单击文档文本中的标签。如果没有提供回调,那么hashtag将呈现为普通文本,因此您可以通过传递此道具来选择是否支持它们。

返回一个对象数组,其中包含文档中所有标题的文本内容、它们在层次结构中的级别和锚点ID。这对于构建您自己的目录非常有用,因为在V10中删除了toc选项。

此项目使用纱线来管理依赖项。您可以使用NPM,但是它不会考虑纱线锁定文件,并且可能会安装略有不同的版本。

在开发中运行时,包含了webpack服务,为示例编辑器提供热重载服务。安装完依赖项后,Run Snow就可以开始运行了。