Cherry Markdown快速开始:五分钟上手教程
还在为寻找一款功能强大、易于使用的Markdown编辑器而烦恼吗?Cherry Markdown作为腾讯开源的专业级Markdown编辑器,以其开箱即用、轻量简洁、易于扩展等特点,正在成为开发者和内容创作者的首选工具。本文将带你快速上手Cherry Markdown,让你在五分钟内掌握核心用法!
🎯 读完本文你将掌握
- Cherry Markdown的基本安装和配置
- 三种不同的使用方式(UMD、ESM、Node.js)
- 核心功能的实际应用示例
- 常见问题的解决方案
- 进阶使用的技巧和建议
📦 快速安装
Cherry Markdown支持多种安装方式,根据你的项目需求选择最适合的一种:
通过npm安装
npm install cherry-markdown --save
通过yarn安装
yarn add cherry-markdown
可选依赖(增强功能)
如果需要启用Mermaid流程图和ECharts图表功能,还需要安装:
npm install mermaid echarts --save
🚀 五分钟快速上手
方式一:UMD方式(最简单)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cherry Markdown Demo</title>
<!-- 引入CSS样式 -->
<link href="https://cdn.jsdelivr.net/npm/cherry-markdown@0.10.0/dist/cherry-markdown.min.css" rel="stylesheet">
</head>
<body>
<!-- 创建编辑器容器 -->
<div id="markdown-container" style="height: 500px;"></div>
<!-- 引入JavaScript -->
<script src="https://cdn.jsdelivr.net/npm/cherry-markdown@0.10.0/dist/cherry-markdown.min.js"></script>
<script>
// 初始化编辑器
const cherry = new Cherry({
id: 'markdown-container', // 容器ID
value: '# 欢迎使用Cherry Markdown!\n\n这是一个快速开始示例。', // 初始内容
toolbars: {
toolbar: [
'bold', 'italic', 'strikethrough', '|',
'color', 'backgroundColor', '|',
'heading', '|', 'list', 'checklist'
]
}
});
</script>
</body>
</html>
方式二:ESModule方式(现代项目推荐)
import 'cherry-markdown/dist/cherry-markdown.css';
import Cherry from 'cherry-markdown';
const cherryInstance = new Cherry({
id: 'markdown-container',
value: `# Cherry Markdown编辑器
## 功能特性
- ✅ 实时预览
- ✅ 语法高亮
- ✅ 表格编辑
- ✅ 代码块支持
- ✅ 数学公式
## 示例代码
\`\`\`javascript
function hello() {
console.log('Hello Cherry Markdown!');
}
\`\`\`
`,
engine: {
syntax: {
codeBlock: {
theme: 'default'
}
}
}
});
方式三:Node.js服务端使用
const { default: CherryEngine } = require('cherry-markdown/dist/cherry-markdown.engine.core.common');
// 创建引擎实例
const cherryEngine = new CherryEngine();
// 将Markdown转换为HTML
const markdownContent = `
# 标题
## 二级标题
- 列表项1
- 列表项2
**粗体** *斜体*
\`\`\`javascript
console.log('Hello World');
\`\`\`
`;
const htmlContent = cherryEngine.makeHtml(markdownContent);
console.log(htmlContent);
🎨 核心功能演示
表格功能
| 功能 | 状态 | 描述 |
|------|------|------|
| 实时预览 | ✅ | 边写边看效果 |
| 导出PDF | ✅ | 一键导出为PDF |
| 图片管理 | ✅ | 拖拽上传、缩放 |
| 代码高亮 | ✅ | 支持多种语言 |
Mermaid流程图

数学公式
行内公式:$E = mc^2$
块级公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
⚙️ 常用配置选项
下表列出了Cherry Markdown最常用的配置参数:
| 配置项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
id | string | - | 编辑器容器的ID(必需) |
value | string | '' | 编辑器的初始内容 |
locale | string | 'zh_CN' | 语言设置(zh_CN/en_US) |
previewer | object | {} | 预览器相关配置 |
toolbars | object | 完整工具栏 | 工具栏配置 |
engine | object | {} | 引擎相关配置 |
callback | object | {} | 回调函数配置 |
详细配置示例
const config = {
id: 'editor-container',
value: '# 初始内容',
locale: 'zh_CN',
// 工具栏配置
toolbars: {
toolbar: [
'bold', 'italic', 'strikethrough', '|',
'color', 'backgroundColor', '|',
'heading', '|', 'list', 'checklist', '|',
'image', 'video', 'audio', '|',
'link', 'hr', '|',
'code', 'formula', 'mermaid', '|',
'toc', 'table', 'chart', '|',
'export', 'theme'
],
bubble: ['bold', 'italic', 'underline', 'strikethrough', 'sub', 'sup', 'quote', '|', 'size', 'color'],
float: ['h1', 'h2', 'h3', '|', 'checklist', 'quote', 'quickTable', 'code']
},
// 引擎配置
engine: {
global: {
classicBr: false
},
syntax: {
codeBlock: {
theme: 'default',
indent: 2
},
table: {
enableChart: true
}
}
},
// 回调函数
callback: {
afterChange: (md, html) => {
console.log('内容发生变化:', md);
},
afterInit: () => {
console.log('编辑器初始化完成');
}
}
};
🔧 常见问题解决
1. Mermaid图表不显示?
// 需要额外安装mermaid并配置插件
import mermaid from 'mermaid';
import CherryMermaidPlugin from 'cherry-markdown/dist/addons/cherry-code-block-mermaid-plugin';
// 在初始化前注册插件
Cherry.usePlugin(CherryMermaidPlugin, { mermaid });
2. 如何获取编辑器内容?
// 获取Markdown源码
const markdownContent = cherryInstance.getValue();
// 获取HTML内容
const htmlContent = cherryInstance.getHtml();
3. 如何设置内容?
// 设置新的Markdown内容
cherryInstance.setValue('# 新的标题\n\n新的内容');
// 在光标处插入内容
cherryInstance.insertValue('**插入的文本**');
📊 功能对比表
| 特性 | Cherry Markdown | 其他编辑器 | 优势 |
|---|---|---|---|
| 开箱即用 | ✅ | ⚠️ | 无需复杂配置 |
| 扩展性 | ✅ | ❌ | 插件系统完善 |
| 性能优化 | ✅ | ⚠️ | 局部渲染技术 |
| 移动端支持 | ✅ | ❌ | 响应式设计 |
| 安全性 | ✅ | ⚠️ | 内置XSS防护 |
🎯 进阶使用技巧
自定义主题
const cherry = new Cherry({
id: 'editor',
value: '# 自定义主题',
theme: 'dark' // 支持 'default', 'dark', 'green', 'blue'
});
文件上传配置
const config = {
id: 'editor',
value: '# 文件上传示例',
fileUpload: {
callback: (file, callback) => {
// 自定义上传逻辑
const formData = new FormData();
formData.append('file', file);
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => callback(data.url))
.catch(error => callback(''));
}
}
};
快捷键自定义
const config = {
id: 'editor',
value: '# 快捷键示例',
shortcuts: {
'ctrl+b': 'bold',
'ctrl+i': 'italic',
'ctrl+k': 'link'
}
};
📈 使用场景推荐
💡 最佳实践建议
- 按需引入:如果不需要Mermaid和ECharts功能,使用核心版本减小体积
- 动态加载:大型项目建议使用动态导入减少初始加载时间
- 错误处理:合理配置回调函数处理各种异常情况
- 主题定制:根据产品风格定制编辑器主题
- 移动优化:针对移动端调整工具栏配置
🚀 下一步学习
掌握了基础用法后,你可以进一步探索:
- 自定义语法扩展
- 插件开发
- 主题深度定制
- 与其他框架集成(React、Vue等)
- 性能优化技巧
Cherry Markdown的强大功能远不止于此,通过灵活的配置和扩展能力,它能够满足从简单博客到复杂文档系统的各种需求。开始你的Markdown编辑之旅吧!
提示:本文基于Cherry Markdown 0.10.0版本编写,具体功能请以官方文档为准。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



