问题标签 [prose-mirror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
795 浏览

javascript - 如何在 ProseMirror 中使节点的子内容无法动态编辑?

我创建了一个包含captioned_image节点类型的文档模式,它引用了单独 CMS 中的图像。该图像有一个标题和一个信用,我想在文档中进行编辑。当用户在 ProseMirror 编辑器中编辑内容时,我可以记录更改并向 CMS 发送更新请求。

但是,当另一个用户在 CMS 中编辑图像时,标题和信用字段可能会被“锁定”。

captioned_image当这些字段被其他用户锁定时,如何使节点的标题和信用子节点不可编辑?选择不应该被放置在一个位置。

0 投票
1 回答
711 浏览

javascript - 无法使用 Prosemirror 进行协作编辑

我正在使用 prosemiror 构建一个协作编辑器,多个人可以在其中编辑一个文档。我根据此处给出的示例编写了以下代码 - http://prosemirror.net/docs/guides/collab/

这是代码-

当我运行此代码时(在安装了所有依赖项并在 nodejs 中设置了一个简单的服务器之后),我基本上能够编辑一个文本框,但我无法在 chrome 中打开两个选项卡并看到协作发生。我究竟做错了什么?

会喜欢一些反馈。

0 投票
1 回答
295 浏览

javascript - 用 HTML 表示文档 DOM:兄弟文本节点

我在一个非常古老的评论中从@Bergi 阅读了这个声明,讨论了一个nextSibling值:

x.nextSibling 可能不是跨度,而是 img 和跨度元素之间的换行文本节点

@Bergi 所指的示例是一些脚本,用于在相当简单的 HTML 中选择第一个元素,然后找到nextSibling

浏览器是否在元素节点之间的 DOM 中插入“换行文本节点”?我真正想了解的是在关于使用 ProseMirror 将文档模型序列化为 HTML 的较早讨论中的这条评论:

HTML 几乎总是可以用来完全表示文档 DOM。我们遇到了一个例外:兄弟文本节点。在使用 ProseMirror 之前,我们发现拥有兄弟文本节点很重要,因此我们将 HTML 序列化为 JSON 以存储在数据库中。出于兼容性原因,我们现在仍然这样做,但鉴于我们不再需要兄弟文本节点,这可能会在我们的文件格式的下一个版本中消失。

该线程中的其余讨论内容繁多,与此问题无关,因此我没有将其链接。我认为这位作者之所以说 HTML 不能在兄弟文本节点的情况下镜像 DOM 是因为换行节点会自动插入到 DOM 中(而不是在 HTML 中表示)。这是准确的吗?

0 投票
5 回答
2169 浏览

npm - 构建和运行 ProseMirror

我想建立一个使用所见即所得的网站,例如 ProseMirror。他们的文档有点清楚,构建所有东西并不是一个简单的过程,因为他们首先关注开发的其他部分。但是,它们确实提供了一个可以克隆和运行的项目

但是,我不确定如何实际运行此示例。

我在我的活动 MAMP 目录中创建了一个新文件夹,并且已经完成npm install了 package.json 中的所有项目。然后我已经运行npm run build,以便项目现在构建到distpackage.json 中默认指定的文件夹中。

但是,我如何真正让它在浏览器中运行?如果我去浏览器,它只是显示我的文件和文档列表,而不是实际的应用程序。

我也尝试过运行npm start,但 package.json 中没有任何链接命令。我确实看到这是使用 rollup.js。我以前没用过,也许有一些命令?

0 投票
0 回答
172 浏览

angular6 - Angular 6 上的 Prosemiror 编辑器工具栏不完整

我已经在我的 Angular 6 中将 ProseMirror 集成为使用指令的文本编辑器,如下所示:

并将html用作:

一切都运行良好...但工具栏没有正确显示...全部对齐在另一个下方 附上屏幕截图

不知道如何使它正确显示。请提供任何帮助

0 投票
1 回答
2570 浏览

prose-mirror - prosemiMirror:将 JSON 输出转换为 HTML

我正在尝试将 ProseMirror 的 JSON 输出转换回 HTML(将其从一个数据库保存到另一个数据库)。我是 ProseMirror 的新手,我不确定我是否完全理解模型、状态和模式之间的关系。

从我读过的内容来看https://github.com/ProseMirror/prosemirror/issues/455https://discuss.prosemirror.net/t/example-of-converting-between-formats-for-the- purpose-储蓄/424 ,

我应该首先基于基本模式创建一个新状态,然后使用 DOMSerializer 并将输出附加到一个临时元素(然后获取 innerHtml)。那个听起来是对的吗?任何帮助将不胜感激。

0 投票
0 回答
239 浏览

javascript - ProseMirror:如何在文本中添加类和数据?

尝试使用看起来非常专业的ProseMirror WYSIWYM 编辑器在带有 ID 的文本字段中标记单词,并为标记的单词提供背景颜色。例如

The horses took off

...可能会导致 html:

The <span class="tagged" data-id="horse">horses</span> <span class="tagged" data-id="take_off_2">took off</span>

ProseMirror 的学习曲线很陡峭,我发现自己很难站稳脚跟。任何人对哪些 PM 库和函数可用于向单词添加/删除数据和类有任何提示?甚至不确定跨度是否是这样做的方法。

0 投票
0 回答
1394 浏览

richtextbox - 石板与散文镜

我需要为我的 React 应用程序构建一个富文本编辑器。在使用 Draft.js 一个月后,我发现它的可配置性不足以满足我的需要。我在SlateProseMirror之间做出决定。

它们各自的优缺点是什么?

0 投票
1 回答
141 浏览

javascript - 如何防止 Vuex 干扰我的类实例?

我正在尝试在 Vuex 中存储一个类的实例(EditorState来自 ProseMirror)。这个类从外部看或多或少是不可变的,这意味着每当我想对其进行更改时,我只需将类的一个新实例放入 Vuex。

因此,我在这里不需要 Vue 的更改跟踪,实际上它似乎干扰了 ProseMirror 的内部工作,所以我想知道是否有一种方法可以将我的对象与 Vue 隔离,以便原子处理.

0 投票
0 回答
498 浏览

html - 使用 vue-cli 的tiptap 扩展按回车键创建一个新的文本字段

我正在使用 Tiptap 扩展,它是 Vue 的富文本编辑器。而且我想在每次按 Enter 时创建一个新的文本字段。但我找不到解决方案来做到这一点。这是tiptap的链接:https ://github.com/scrumpy/tiptap 。

我尝试使用 v-on:keyup。

...

我想创建一个新的文本字段。