wagtail CMS 是否支持编辑富文本 html 代码的功能,如屏幕截图所示?
问问题
15 次
1 回答
0
不,Wagtail 的内置Draftail富文本编辑器无法编辑 HTML 源代码。这是因为它对已编辑文本的内部表示不是 HTML,而是它自己的数据结构,其中链接和内联样式等实体与文本一起跟踪,而不是文本本身的一部分。可以在此数据结构中表示的事物与可以编写为 HTML 的事物之间没有直接对应关系。
(替代的富文本编辑器可能作为提供 HTML 源代码编辑的第三方包提供,但我不知道它们是否得到积极维护的状态。)
这似乎是一个不必要的限制,但其背后有很好的技术原因:
- 这意味着图像和页面链接(以及引用 Wagtail 管理的其他对象的任何其他内容)可以存储为数据库 ID 而不是 URL,因此如果这些对象由于用户编辑而更改 URL,则不会导致断开的链接。
- 从 Word 文档粘贴内容时,通常会嵌入不需要的格式,例如将字体设置为 Times New Roman。拥有一种数据格式来区分内容的有意义的“结构”方面(标题、链接、粗体/斜体跨度......)和装饰性的(样式属性)可以确保这些内容被剥离。
- 我们想用富文本表示的一些东西,例如 Youtube 嵌入,没有已知的可预测的 HTML 表示。数据格式能够将这些存储为“为 URL X 嵌入的视频”而不是“
<iframe>
具有一些模糊属性集合的标签”是很有用的 - 如果它被存储为后者,你会遇到如何到目前为止,用户可以在 HTML 不再被识别为 Youtube 嵌入之前对其进行编辑。
于 2022-03-04T21:25:55.440 回答