CKEditor - 要求返回markdown语法而非HTML

6
我正在开发一个CMS平台,计划使用CKEditor,因为它似乎提供了我所需的一切。
但是有一件事情让我有些困扰,那就是我希望我的内容采用markdown格式而不是html格式。虽然我找到了一个支持BBCode的扩展,但我无法弄清楚如何将其改为支持markdown。
我尝试寻找一个可以直接使用markdown的编辑器,但我发现这些编辑器对我来说过于简单,而CKEditor则具有插件系统,可以完美地满足我的需要。

2个回答

13

1
请注意,ckeditor.com上的版本似乎存在错误且无法正常工作,最新版本在https://github.com/hectorguo/CKEditor-Markdown-Plugin上可用。请参见:https://github.com/hectorguo/CKEditor-Markdown-Plugin/issues/8。 - Asara
谢谢,新版本对我有用 :) - nofoobar

2
使用Markdown而不是HTML是一个非常糟糕的想法,原因如下:
  1. Markdown没有规范,所以每个库在细节方面的工作方式都不同。使用CKEditor生成的输出,在通过您的后端转换为HTML时可能会产生不同(甚至完全错误)的结果。例如 - 转义图像的标题和链接文本 - 您将无法确保用户插入的文本不会破坏输出。
  2. 并非所有HTML都可以转换为Markdown。
    • 有许多棘手的情况在HTML中完全正确,但在Markdown中无法完成。
    • Markdown比HTML功能更少,因此您可能会失去一些用户生成的内容。
  3. 使用Markdown而不是HTML实际上没有任何好处。

我是CKEditor的核心开发人员,所以我非常了解它。我尝试为CKEditor实现Markdown编写器,但很快发现这完全没有意义。我并不是说这是不可能的,因为它是可以的,但只能达到有限的稳定性-对于我个人想要在生产中使用的任何东西来说都太低了。


我决定在 PHP 中完成转换。实际上,我只需要在一个部分中使用它,所以就算 CKEditor 实例变得超级简单,只包含基本元素也不会有问题。 - Eman
17
  1. Markdown现在有一个规范。(http://commonmark.org/)
  2. 的确如此,但您可以简单地禁用Markdown不支持的功能。
  3. 这取决于您使用它做什么。在大多数情况下,我同意,但Markdown的重点是即使未呈现,它也易于人类阅读。这在诸如git补丁差异之类的事情中非常有用。
- Ajedi32
5
CommonMark的出现改变了情况很多,这正是Markdown真正所缺失的。我们一定会重新考虑采用CommonMark支持。 - Reinmar
2
@Reinmar,CKEditor 实现 CommonMark 的进展有更新吗? - a coder
1
就我个人而言,我想要这个功能只是因为基本的Markdown比HTML更简洁明了——让HTML特性保持不变也没问题。 - Eevee
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接