问题标签 [parchment]

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 投票
0 回答
221 浏览

quill - Quill 自定义印迹:如何使 Quill 接受“传入”自定义代码

我在一个项目中使用 Quill,我需要让 Quill 在初始化和从 API 更新编辑器内容时“理解”一些自定义代码。

为了简单起见:假设我有一个数据库,例如,一个包含以下内容的字段:

<p>Text</p><hr>

在页面加载时,在 Quill'a 初始化期间,我需要 Quill 编辑器的容器“接受”此传入代码,但 Quill 会消除该<hr>标签。

阅读本指南(使用羊皮纸克隆介质)我了解了如何创建新的 Quill 印迹以及如何在工具栏中添加自定义控制按钮以<hr>在我的 Quill 编辑器中插入自定义印迹(比如说标签)。让我们称之为“输出流”,我想我明白了。

不幸的是,如果我将更新的内容(比如说<p>Text></p><hr>)保存在数据库中,刷新页面(我正在使用 PHP),<hr>标签不会被保留,而是被“剥离”......我正在阅读羊皮纸文档,我想我应该让羊皮纸“接受”新的印迹(对吗?)但我不明白如何......

这是一个简单的示例:自定义线印迹示例。您可以看到“插入行”按钮正在工作(“输出流”正常),但在页面加载时<hr>标签被剥离(“输入流”不正常)。

我希望解释清楚^^谢谢任何人会帮助我...... ^^

0 投票
1 回答
63 浏览

swift - 如果我们在 Parchment 的 HeaderExample 中替换 UIView 而不是 UIImageView,则渐变背景不起作用

我在我的应用程序中使用羊皮纸库进行分页。当我在 Parchment 的标题示例中将 UIImageView 替换为 UIView 时,渐变背景不起作用。我只看到白屏。

如果我在视图中单独添加渐变效果,使用羊皮纸,我相信它被某些层重叠。我也试过这个链接但没有用。 https://github.com/rechsteiner/Parchment/issues/181

实际结果是标题视图中的白屏,预期是渐变填充。

0 投票
0 回答
76 浏览

quill - 创建公式印迹(分层标签)

使用嵌入可以成功创建复杂的公式印迹(如下所示),但它仅适用于单个实例。所有其他实例都被截断。尝试将其创建为内联或块导致错误。

我正在开发一个图形公式编辑器,它有自己的对话框和工具栏,它成功地从现有的印迹中获取增量。不幸的是,保存多个公式失败,替换现有公式失败。当保存多个公式时,除了第一个之外,只保存顶级跨度。

从文档中不清楚标签层次结构是否可以用作内联或块元素。

附带说明一下,我正在为 Angular 7+ 应用程序构建一个完整的 Quill npm 模块,其中还包括许多其他的 quill 模块,并翻译为 Typescript。npm 模块将支持 WCAG 与可切换的大按钮等兼容。

用作印迹的示例标签层次结构:

印迹代码:

这是插入不适用于后续实例的公式的调用,尽管它适用于第一个公式:

公式编辑器 UI 快照 预期结果是能够在编辑器中插入公式、内联,并能够在公式更新时替换它。

0 投票
0 回答
356 浏览

javascript - 如何创建具有相同标签名称的嵌套内联印迹?

我正在与 Quill 合作,我正在尝试创建一个自定义印迹,可以在其中嵌套多个该印迹。这样做的目的是我希望仅在某些条件匹配时才显示部分文本,例如 if 语句。嵌套部分是因为可以添加 AND 和 OR 运算符,除了使处理部分更容易,因为我只需要找到父级并迭代子级。

到目前为止,我有以下 Blot 结构:

问题是当我formatText()从 Quill 编辑器调用该函数时,它不会嵌套印迹,即使在用户选择中已经存在条件印迹。但如果有不同的印迹,它确实会嵌套它。

在与同事交谈时,他建议我使用 Parchment 提供的功能动态创建印迹create(),并更改每个印迹的标签名称,从而允许嵌套印迹。我想知道这是否是唯一可能的解决方案,或者是否有另一种方法可以做到这一点。

有没有其他方法可以使用常规的 Quill 方法插入具有相同印迹名称的嵌套印迹?

0 投票
0 回答
374 浏览

quill - 为什么自定义内联印迹与先前插入的印迹合并/组合

我在下面为 Quilljs 创建了我自己的自定义内联印迹:

它可以工作,但是如果我连续选择同一个,它们会合并成一个内联跨度印迹?我希望他们分开。

这是羽毛笔编辑器的输出:

我连续选择了 3 次太阳镜表情符号,但它被分组到一个跨度标签中。如果我在每个太阳镜表情符号之间选择了不同的表情符号,它们将不会被分组。

是否有针对 Inline 类的 create 方法的设置来防止这种情况发生?

0 投票
1 回答
2978 浏览

javascript - Quill Span 印迹格式

我已经为 quill 的跟踪更改创建了一个自定义跨度印迹,但是每次有一个新用户时,所有属性(即 cid、uid、名称)都保持一致,除了从前一个跨度印迹继承的背景颜色。尽管是不同的跨度印迹,但我看不到新用户的不同颜色的建议。如何在我的定制跨度印迹​​中为不同用户执行内联样式?这就是我在代码中添加作者的方式

0 投票
1 回答
838 浏览

javascript - 如何为 quilljs 中的每个“p”元素添加一个属性?

如何为Blockquilljs 中的每个元素添加属性?

我知道我可以扩展 a Block,但是即使在键盘上按“Enter”也可以添加属性吗?

0 投票
0 回答
129 浏览

typescript - 无法使用 Quill 2.0-dev3 创建自定义 BlockEmbed

我们使用 Quill 1.3.7 已经有一段时间了。我编写了一些自定义嵌入印迹,它们可以正常工作。然后我们升级到 2.0.0-dev3 以获得新功能,这打破了我们的自定义印迹。当我在工具栏中选择选项时收到以下错误:

Class constructor BlockEmbed cannot be invoked without 'new'

这是我尝试过的一些方法:

这些都导致了上面列出的错误。

此外,我已经走上了直接使用 Parchment 的路线,但出现了不同的错误(通常 Parchment 未定义):

我正在使用 Quill.insertEmbed() 函数来完成此操作。我还尝试创建一个 Delta 并更新文档。

可以在此处找到我们自定义 PageBreak 印迹的示例:https ://codesandbox.io/s/vibrant-flower-8kuy2?file=/src/PageBreak.ts

我们的目标是 es5。

0 投票
1 回答
91 浏览

ios - 为什么在 TextField 键盘中输入的每个字母都关闭后以及如何更好地修复它?

我的父视图和子视图有 ObservableObject:

我试图将 inputText 放在子视图的 ObservedObject 中,但没有任何变化。

当我输入一个字母时,键盘关闭。我认为 SwiftUI 开始重绘整个页面,因此 TextField 变得不活动。

如何解决这个问题?也许以某种方式强制激活 TextField 或启动键盘?

0 投票
0 回答
35 浏览

ruby-on-rails - 将模式标记属性添加到 Quill.js 内部 HTML

我正在尝试添加一个自定义按钮以在我的羽毛笔编辑器中添加常见问题解答标记架构(问题,AcceptedAnswer)。到目前为止,我已经将它与注册工具栏中的按钮一起使用,然后在保存时使用 Nokogiri 稍微交替它们以在保存时添加标记,但是当羽毛笔容器在编辑时加载时,它会清除这些自定义属性。以前有没有其他人成功创建过自定义标记按钮?