Markdown 输出
Markdown 插件允许您将默认输出从 HTML 切换到 Markdown。这样您就可以生成轻量级的文本文档,这些文档使用开发人员中流行的简单格式语法。
# 演示
下面的编辑器配置为输出 GitHub Flavored Markdown。编辑内容并查看 Markdown 输出如何变化(您可以在编辑器下方找到它)。
请注意,下面的演示中的源代码编辑功能是 单独的插件。如果您想在您的集成中使用它,您需要单独安装它。
输出
此演示展示了一组有限的功能。访问 功能丰富的编辑器示例,查看更多实际应用。
# 其他功能信息
与 自动格式化 功能相结合,Markdown 插件提供了完整的 Markdown WYSIWYG 编辑体验,如 “CKEditor 5: 最佳开源 Markdown 编辑器” 博客文章中所述。访问 免费在线 Markdown 编辑器,查看此解决方案的实现。
请记住,Markdown 语法非常简单,它不涵盖所有富文本功能。因此,CKEditor 5 提供的一些功能只有在输出为 HTML 时才能按预期工作,因为它们没有 Markdown 等效项。
# 安装
在 安装编辑器 后,将 Markdown
插件添加到编辑器配置中。它将更改默认 数据处理器 为 GFMDataProcessor
import { ClassicEditor, Bold, Italic, Essentials, Markdown } from 'ckeditor5';
// More imports.
// ...
ClassicEditor
.create( document.querySelector( '#snippet-markdown' ), {
plugins: [
Markdown,
Essentials,
Bold,
Italic,
// More plugins.
// ...
],
// More of editor's configuration.
// ...
} )
.then( /* ... */ )
.catch( /* ... */ );
# 扩展格式支持
如果您需要更广泛的 Markdown 支持来格式化元素(例如,将链接上的 title
属性表示为 [Foo Bar](https://foo.bar "My link title")
),您还可以安装 通用 HTML 支持。此高级功能允许集成商提供其他标签、元素和属性,这些标签、元素和属性尚未由其他 CKEditor 5 插件支持,并扩展格式化功能。
# Markdown 数据处理器
Markdown 插件使用 数据处理器(由 GFMDataProcessor
类实现)将默认输出从 HTML 更改为 Markdown。这意味着您可以以 Markdown 格式 设置 或 获取 编辑器中的数据。
editor.getData(); // -> 'This is [CKEditor 5](https://ckeditor.npmjs.net.cn).'
editor.setData( 'This is **bold**.' );
数据处理器输出 GFM Markdown 语法。“GFM” 代表“GitHub Flavored Markdown”——由 GitHub 使用的 Markdown 方言。Markdown 缺乏任何正式规范(尽管 CommonMark 倡议旨在弥补这一差距)并且有许多方言,通常彼此不兼容。
转换此数据处理器生成的输出时,请确保使用兼容的 Markdown 到 HTML 转换器(例如,marked 库)。
虽然 CKEditor 5 架构支持更改数据格式,但在大多数情况下,我们建议坚持使用默认格式,即 HTML(由 HtmlDataProcessor
支持)。HTML 仍然是 富文本数据的最佳标准。
请记住——使用 Markdown 不会自动使您的应用程序或网站安全。
# 已知问题
请记住,Markdown 数据处理器不支持所有富文本功能。 Markdown 语法 非常简单,只支持有限的格式选项。
这意味着高级格式(如列表样式、表格样式或分页符)将在生效数据中被剥离。这些不受 Markdown 支持,因此无法从 HTML 转换为 Markdown。
虽然 Markdown 插件稳定且可以使用,但仍有一些问题正在解决。如果您想看到这些问题被解决,请随时在 GitHub 上点赞 👍。
- 粘贴 Markdown 格式的内容不会自动将粘贴的语法标记转换为正确格式的内容。GitHub 问题:#2321,#2322。
- 使用 Markdown 输出功能生成的 Markdown 代码将无法正确呈现 嵌套表格。GitHub 问题:#9475。
# 相关功能
以下是输出编辑内容的其他一些方法
- 源代码编辑 – 允许在相应配置的情况下编辑 Markdown 源代码。
- 导出到 Word – 从您的编辑器创建的内容中生成可编辑的
.docx
文件。 - 导出到 PDF – 从您的编辑器创建的内容中生成可移植的 PDF 文件。
- 自动格式化 – 使用 Markdown 语法快捷方式在您键入时自动格式化您的内容!
- 粘贴 Markdown – 将 Markdown 格式的内容直接粘贴到编辑器中。
# 贡献
此功能的源代码可在 GitHub 上获取:https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-markdown-gfm。
我们每天都在努力使我们的文档保持完整。您是否发现过时的信息?缺少什么内容吗?请通过我们的 问题跟踪器 报告它。
随着 42.0.0 版本的发布,我们重写了许多文档,以反映新的导入路径和功能。我们感谢您的反馈,以帮助我们确保其准确性和完整性。