Cherry Markdown快速开始:五分钟上手教程

Cherry Markdown快速开始:五分钟上手教程

【免费下载链接】cherry-markdown ✨ A Markdown Editor 【免费下载链接】cherry-markdown 项目地址: https://gitcode.com/GitHub_Trending/ch/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流程图

![mermaid](https://kroki.io/mermaid/svg/eNpLL0osyFAIceFSAALH6Kd7Gp4u745V0NW1U3CqfjZ34ZPd2552LHk2bW0tWIUTSKbm2Yz1NQrO0c86l79Y2PNscu-TvXMMY5Hkn05YVqPggiJvBJF3BpvsGv189-Rnc-dDxFwgYgACjDjl)

数学公式

行内公式:$E = mc^2$

块级公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

⚙️ 常用配置选项

下表列出了Cherry Markdown最常用的配置参数:

配置项类型默认值描述
idstring-编辑器容器的ID(必需)
valuestring''编辑器的初始内容
localestring'zh_CN'语言设置(zh_CN/en_US)
previewerobject{}预览器相关配置
toolbarsobject完整工具栏工具栏配置
engineobject{}引擎相关配置
callbackobject{}回调函数配置

详细配置示例

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

💡 最佳实践建议

  1. 按需引入:如果不需要Mermaid和ECharts功能,使用核心版本减小体积
  2. 动态加载:大型项目建议使用动态导入减少初始加载时间
  3. 错误处理:合理配置回调函数处理各种异常情况
  4. 主题定制:根据产品风格定制编辑器主题
  5. 移动优化:针对移动端调整工具栏配置

🚀 下一步学习

掌握了基础用法后,你可以进一步探索:

  • 自定义语法扩展
  • 插件开发
  • 主题深度定制
  • 与其他框架集成(React、Vue等)
  • 性能优化技巧

Cherry Markdown的强大功能远不止于此,通过灵活的配置和扩展能力,它能够满足从简单博客到复杂文档系统的各种需求。开始你的Markdown编辑之旅吧!

提示:本文基于Cherry Markdown 0.10.0版本编写,具体功能请以官方文档为准。

【免费下载链接】cherry-markdown ✨ A Markdown Editor 【免费下载链接】cherry-markdown 项目地址: https://gitcode.com/GitHub_Trending/ch/cherry-markdown

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值