ToolAct工具行动

Markdown 在线编辑器

编辑器0 字符 · 0 字数 · 0 行数
预览
Ln 1, Col 1Markdown
UTF-8

什么是 Markdown?

Markdown 是一种轻量标记语言,用接近纯文本的语法编写结构化内容。标题、列表、链接、图片、引用、代码块和表格都可以用简单符号表示,再渲染成 HTML 或其他格式。Markdown 编辑器能让源码和预览对照检查,快速发现格式错误,并更高效地准备 README、技术文档、博客文章、笔记、知识库、更新日志和产品文案。Markdown 故意保持简单,但不同平台支持的扩展并不完全一致,例如 GitHub-Flavored Markdown、Frontmatter、任务列表或 Mermaid 图表。因此正式发布前仍应在目标系统中确认最终渲染效果。

使用方法

使用方法

  1. 在左侧编辑器中输入 Markdown 文本
  2. 右侧面板实时预览效果
  3. 使用工具栏按钮插入常用语法
  4. 底部栏显示字数、字符数和行数
  5. 内容自动保存到浏览器本地存储

功能

标题使用 # 表示标题,# 的数量决定标题级别
加粗使用 **文本** 或 __文本__ 实现加粗
斜体使用 *文本* 或 _文本_ 实现斜体
链接使用 [显示文本](URL) 创建链接
图片使用 ![替代文本](图片URL) 插入图片
代码使用反引号 ` 表示行内代码,三个反引号表示代码块
列表使用 - 或 * 创建无序列表,使用数字创建有序列表
引用使用 > 创建引用块

编辑提示

  • 不同平台的预览渲染可能存在差异,使用表格、HTML 或扩展 Markdown 功能时,请到目标系统中检查最终输出效果。
  • 自动保存功能方便起草内容,但在清除浏览器数据或更换设备前,请为重要笔记保留独立备份。

使用场景

边写 Markdown 边实时预览在左侧编辑器中起草笔记、README 段落、发布说明或文档,右侧面板实时渲染 GitHub-Flavored Markdown 并支持换行。预览库加载完成后代码块会高亮显示,技术草稿更易检查。
维护一个浏览器本地的写作便签本内容按语言保存到 localStorage,草稿在刷新页面后仍然保留,无需账号或远程存储。渲染、语法高亮和 HTML 清洗都在浏览器中完成,写了一半的发布说明、内部复盘或未发布的功能描述都留在设备上。输入时字符数、字数和行数实时更新,便于准备简洁的更新日志条目或将文章摘要精简到目标长度。
在源码和预览同步滚动中编辑长文档编辑器跟踪光标的行列位置、用空格替代 Tab,并在源码和预览面板之间同步滚动位置。修改密集 Markdown 时,渲染区域和源码区域保持对齐,编辑体验更舒适。
在 CommonMark 和 GFM 渲染模式间切换切换 GitHub-Flavored Markdown 查看表格、任务列表和自动链接的渲染效果,或切换到更严格的 CommonMark 为使用自有方言的静态站点生成器起草内容。预览面板让你在发布前看清差异。CommonMark 解决了原始 Markdown 语法在嵌套列表缩进和内联代码边界上的歧义;GFM 在此基础上扩展了管道表格、~~删除线~~、- [ ] 任务列表和自动链接 URL,同一源码在不同规范的渲染器下会产生不同的 HTML。
复制渲染后的 HTML 粘贴到 CMS将草稿迁移到 WordPress、Confluence 或其他接受粘贴 HTML 的编辑器时,使用原始 HTML 输出。省去手动重新排版标题、列表和表格的功夫,同时保留 Markdown 源码作为正本。GFM 表格列对齐使用第二行的冒号位置——`:---` 左对齐、`---:` 右对齐、`:---:` 居中——该语法不属于 CommonMark,因此同一源码在严格 CommonMark 引擎上会渲染为普通段落。围栏代码块接受语言提示如 ```ts 或 ```python,highlight.js 按其语法列表匹配;`[^1]` 式脚注引用(正文在后面定义)仅在渲染器实现该扩展时才生效。

技术原理

Markdown 渲染通常分三步:分词器(Tokenizer)将文本切成标题、段落、列表、代码块等语法单元;解析器(Parser)按语法规则将 token 流构建为抽象语法树(AST);渲染器(Renderer)遍历 AST 输出对应的 HTML。常见的 JavaScript 库包括 marked、markdown-it、remark 和 micromark——它们在体积、速度和可扩展性上各有差异,但都遵循 CommonMark 规范。 CommonMark 修复了原始 Markdown 语法的歧义(如嵌套列表如何缩进、行内代码如何界定边界),使不同实现产生相同的渲染结果。在 CommonMark 基础上,GitHub 增加了 GFM(GitHub Flavored Markdown),新增表格、任务列表(- [ ])、删除线(~~)、自动链接和围栏代码块;GFM 如今是事实标准,大多数现代 Markdown 工具默认启用。 代码块语法高亮通常由 highlight.js 或 Prism.js 完成,它们在渲染时识别代码块的语言标签,用 CSS class 标记关键字、字符串和注释,再由主题配色。为防止用户输入的 HTML 触发 XSS,渲染器通常将输出通过 DOMPurify 或类似的白名单过滤器,剥离 script、iframe 和 on* 事件属性——这样粘贴他人的 Markdown 不会执行恶意脚本。

  • 解析流程:原始文本经过 Tokenizer → Parser → Renderer 变成 HTML,AST 是中间表示。
  • 标准:CommonMark 是官方语法;GFM 在此基础上扩展了表格、任务列表、删除线、围栏代码块和自动链接。
  • 库对比:marked 体积小速度快,markdown-it 插件生态丰富,remark 基于 unified 生态适合文档处理流水线。
  • 语法高亮:highlight.js 或 Prism.js 在解析时读取代码块的语言标签,用 CSS class 标记关键字、字符串和注释。
  • XSS 防护:DOMPurify 等库对输出 HTML 做白名单过滤,移除 script、iframe 和 on* 事件属性,防止脚本注入。
  • 实时预览:编辑器监听 input 事件,防抖后重新解析,通过 diff 更新右侧 DOM,兼顾响应速度和性能。

示例

标题、列表和代码块

# 一级标题

## 二级标题

- 列表项 A
- 列表项 B
  - 嵌套列表项

```javascript
function hello() {
  console.log('Hello Markdown');
}
```

表格

| 工具    | 类型   | 体积 |
|---------|--------|------|
| Vite    | 构建   | 小   |
| Webpack | 构建   | 大   |
| Rollup  | 打包   | 中   |

引用与链接

> “Markdown 让写作回归内容本身。”
> -- John Gruber

参考:[CommonMark Spec](https://commonmark.org)

常见问题

支持哪种 Markdown 方言?

大多数版本支持 CommonMark 加 GitHub Flavored Markdown 扩展:表格、删除线、任务列表、带语言标识的围栏代码块。部分版本还集成 MathJax/KaTeX 渲染 $math$ 公式以及 Mermaid 绘制图表。具体功能可在工具栏查看。

文档会被上传吗?

不会。Markdown 解析和渲染都在浏览器中完成,通常使用 markdown-it 或 remark 等 JS 库。你的草稿不会离开本地设备。

实时预览是怎么工作的?

你输入的内容会被实时解析,并在预览面板中渲染为 HTML。同步滚动通过匹配段落位置使两栏保持对齐。大多数版本还支持全屏和左右分栏切换。

可以导出文档吗?

可以,支持下载为 .md(原始源码)、HTML(已渲染,可嵌入网页)或 PDF(通过浏览器打印引擎生成)。PDF 输出会保留标题、列表、代码块和内嵌图片。如果需要像素级精确的 PDF,建议把 HTML 粘贴到专业排版软件中处理。

关闭标签页后会保存草稿吗?

大多数版本会自动保存到 localStorage,重新打开同一浏览器即可恢复草稿。关闭隐私窗口或清除站点数据则会清空。如需真正持久化保存,请定期将 .md 文件导出到文件系统或 git 仓库。

如果我粘贴图片,图片会被上传吗?

部分编辑器会以内联 base64 形式存储粘贴的图片(在 Markdown 源码中可见);另一些则会上传到图床——具体行为请看页面说明。如果在意隐私,建议先把图片保存到本地,再用相对路径引用。

可以插入表格、公式或图表吗?

GitHub Flavored Markdown 表格(| col1 | col2 |)在所有编辑器中都能用。公式块($x^2$)和 Mermaid 图表(```mermaid)需要编辑器明确支持,请在工具栏查看是否有相应按钮。支持的环境下,预览会实时渲染。