Markdown编辑器|实时预览写作工具
支持实时预览、语法高亮和HTML导出的Markdown编辑器。无需注册,直接在浏览器中编写文档和README,所有处理均在本地完成。
什么是Markdown编辑器?
Markdown编辑器是一个免费的在线写作环境,可在您输入时实时渲染Markdown预览。编辑器和预览并排显示:在左侧输入,右侧立即显示格式化输出——无需刷新页面。它处理从标题和粗体文本到围栏代码块、表格和引用块的所有内容。
该工具专为编写README、技术文档、博客草稿和发布说明的开发者设计——适用于以Markdown为写作格式的一切场合。无需将更改推送到仓库等待预览渲染,也无需安装本地编辑器插件,即可在浏览器中获得准确的渲染预览。完成后,可将文件导出为用于版本控制的 .md 文件,或导出为可直接用作网页的完整样式 .html 文件。无需账户,无需服务器上传,无需配置。
主要功能
- 实时Markdown预览 — 由
@uiw/react-md-editor驱动,使用库内置的同款Markdown解析器实时渲染预览。停止输入的瞬间,变化就会出现在预览中。 - 语法高亮 — 围栏代码块(
`javascript、`python等)在预览面板中以语法着色输出渲染。编辑器的原始Markdown视图也对标题、链接、粗体和代码片段应用语法着色。 - 导出为HTML — "Download HTML"生成包含嵌入CSS样式的完整
<!DOCTYPE html>文档,涵盖正文字体、代码块、引用块和表格。文件下载为document.html,无需外部依赖即可在任何浏览器中正确打开。 - 下载为.md文件 — "Download MD"将原始Markdown源码保存为
document.md,可直接提交到仓库或附加到工单。 - 复制Markdown — 将原始Markdown文本复制到剪贴板,粘贴到GitHub、GitLab、Confluence、Notion或任何支持Markdown的输入字段。
- 复制HTML — 从预览面板复制渲染后的内部HTML。在需要将格式化内容粘贴到支持HTML的富文本编辑器时非常有用。
- 常用格式工具栏 —
@uiw/react-md-editor工具栏提供粗体、斜体、标题、列表、链接、图片、代码等按钮,无需记忆键盘快捷键。 - 快速参考面板 — 编辑器下方的语法速查表涵盖九种最常用的Markdown结构:标题、粗体、斜体、链接、图片、内联代码、列表、引用块和围栏代码块。
如何使用Markdown编辑器
第一步:开始写作或加载内容
页面加载时,编辑器包含一个示例文档,展示标题、粗体/斜体文本、无序列表、围栏JavaScript代码块、表格、引用块和链接。右侧预览面板显示该示例的渲染输出。
点击操作栏中的"Clear"按钮清空编辑器,或直接全选后开始输入。编辑器高度固定为600px,为较长文档启用了垂直滚动。
第二步:使用工具栏或键盘编写Markdown
编辑器顶部的工具栏包含最常见格式操作的按钮。点击 B 将选中文本用 双星号 包裹以加粗,点击 I 用 单星号 包裹以斜体。标题按钮插入 #、## 或 ### 前缀。代码围栏按钮插入带语言占位符的三反引号块。
带语法高亮的围栏代码块写法如下:
def greet(name: str) -> str: return f"Hello, {name}!"
print(greet("world"))
预览将此渲染为彩色代码块。页面底部的快速参考面板一目了然地展示所有九种语法模式。
第三步:在预览面板中验证渲染输出
右侧面板在输入时实时更新。可独立于编辑器滚动,以审阅完整文档。data-color-mode="auto" 属性使编辑器和预览自动适应操作系统的浅色或深色模式设置。
检查以下内容:
- 表格是否以边框和交替标题样式渲染
- 链接是否可点击(渲染后的HTML中使用
href属性) - 代码块是否有指定语言的正确语法颜色
- 图片是否显示(如果引用了可公开访问的图片URL)
第四步:导出文档
根据使用场景选择导出方式:
- 复制Markdown — 将原始源码粘贴到GitHub PR描述、Jira评论、Notion页面或任何Markdown字段
- 复制HTML — 将渲染后的标记粘贴到支持HTML输入的富文本编辑器
- 下载MD — 将
document.md保存到下载文件夹 - 下载HTML — 将带嵌入样式的
document.html保存,可直接作为静态网页托管
导出的HTML文档包含具有合理默认值的 <style> 块:系统字体栈、max-width: 800px 居中布局、代码背景 #f4f4f4、引用块左边框和带边框单元格的全宽表格。
第五步:通过历史记录恢复之前的工作
高级用户可以使用编辑器下方的历史面板恢复之前自动保存的文档。非高级用户应在离开页面前复制或下载工作内容,因为编辑器内容不会在会话间持久保存。
实际使用示例
编写项目README
开发者正在为新的CLI工具创建README:
# my-cli
A command-line tool for batch file renaming.
## Installation
npm install -g my-cli
## Usage
my-cli --pattern "*.log" --prefix "archive-"
## Options
| Flag | Description | Default |
|------|-------------|---------|
| `--pattern` | Glob pattern for matching files | `*` |
| `--prefix` | String prepended to filenames | `""` |
| `--dry-run` | Preview changes without renaming | `false` |
实时预览显示带列标题的表格、带语法高亮的bash代码块和标题层次结构。点击"Download MD"将文件直接保存到项目根目录。
从文档创建样式化HTML页面
技术写作人员有一份描述API端点的Markdown文档。粘贴内容、验证预览后,点击"Download HTML"。生成的 document.html 包含嵌入的CSS,在浏览器中打开或作为邮件附件发送时均能正确渲染——无需外部样式表。
起草发布变更日志
编写 2.4.0 版本变更日志的开发者使用编辑器,以 ## 标题组织"Breaking Changes"、"New Features"和"Bug Fixes"各部分,每部分下使用无序列表。点击"Copy HTML"将格式化内容直接粘贴到公司的发布管理工具中,该工具支持富HTML输入。
技巧与最佳实践
工具栏在选中文本周围插入格式。 选中一个词并点击粗体按钮,选中内容变为 词。未选中任何内容时,按钮在光标处插入 bold text 等占位符。
围栏代码块需要语言标识符才能语法高亮。 空的 ` 块渲染为纯等宽文本。在开头反引号后立即添加语言名称( `typescript 、 `sql 、 `yaml )以获得彩色输出。
复制HTML捕获实时预览的内部HTML。 handleCopyHtml 函数读取 document.querySelector('.w-md-editor-preview')?.innerHTML。如果预览尚未渲染(例如,页面加载后立即操作),复制的HTML可能为空。点击"Copy HTML"前等待预览填充完成。
下载的HTML是自包含的。 document.html 文件内联包含所有必要样式。可通过邮件发送、托管在静态文件服务器上或附加到工单,无需额外资源。
Clear不要求确认。 点击"Clear"立即清空编辑器。如有未保存的工作,请先下载或复制。
常见问题与故障排除
"编辑器显示加载转圈。" @uiw/react-md-editor 组件采用懒加载以避免服务端渲染问题。加载编辑器包时会短暂显示转圈。在正常网络连接下,应在一到两秒内消失。
"复制HTML产生了空输出。" 该函数读取预览容器的 innerHTML。如果预览尚未渲染(在极慢的连接下偶尔发生),可能返回空字符串。滚动预览面板触发渲染,然后再试。
"我的表格没有渲染。" Markdown表格需要在标题行和数据行之间有一行短横线分隔符:|------|------|。确保标题行中的每个单元格都有对应的分隔单元格。开头和结尾的竖线(|)是可选的,但建议保留以保持一致性。
"围栏代码没有语法高亮。" 验证语言标识符与开头反引号在同一行且无空格: `javascript 而非 ` javascript 。同时确认语言名称为小写且拼写正确(python,而非 Python)。
"在macOS上下载的MD文件没有扩展名。" macOS有时会去掉它不识别为标准类型的文件的 .md 扩展名。下载后重命名文件添加 .md,或将浏览器设置为始终询问保存位置。
隐私与安全
所有Markdown渲染、HTML转换和文件导出完全在您的浏览器中进行。您输入的任何内容均不会传输到Glyph Widgets服务器或任何第三方。页面加载后,编辑器可离线使用。这使其适用于内部文档、专有技术规范以及包含机密项目细节的草稿。
常见问题解答
Markdown编辑器免费吗? 是的,完全免费,无使用限制。不需要任何形式的注册、订阅或付款。
支持离线使用吗? 页面加载且编辑器包初始化后,所有写作、预览和导出功能均可在无网络连接的情况下使用。
我的数据安全吗? 您输入的一切都保留在浏览器内存中。没有内容会发送到服务器。可以安全地编写机密文档、内部API参考或私人笔记。
支持哪种Markdown方言? 编辑器使用 @uiw/react-md-editor,基于 remark,支持CommonMark语法以及GitHub Flavored Markdown扩展,包括表格、任务列表和带语言标识符的围栏代码块。
可以嵌入图片吗? 可以,使用标准Markdown图片语法:!alt text。图片必须可公开访问——本地文件路径在浏览器环境中不起作用。图片会立即在实时预览中渲染。
围栏代码块支持哪些语言? 预览为底层 remark/highlight.js 管道支持的任何语言渲染语法高亮。常见语言——JavaScript、TypeScript、Python、Java、Go、Rust、SQL、Bash、YAML、JSON等——只需在开头围栏后附加语言标识符即可使用。
下载的HTML文件需要互联网连接吗? 不需要。导出的 document.html 在 <style> 块中内联包含所有样式。不加载任何外部CSS框架、CDN资源或字体。离线也能完全相同地渲染。
可以使用键盘快捷键吗? @uiw/react-md-editor 组件支持标准文本编辑快捷键(Ctrl/Cmd+B加粗,Ctrl/Cmd+I斜体),具体取决于平台。如果快捷键在您的操作系统上表现不同,工具栏按钮是插入格式最可靠的方式。
如何创建任务列表? 未勾选项使用 - [ ],已勾选项使用 - [x]:
- [x] Write first draft
- [ ] Review with team
- [ ] Publish
清空编辑器后内容会怎样? 编辑器立即重置为空字符串。除非之前使用过历史面板(高级功能)或事先复制/下载了内容,否则无法从工具本身恢复内容。
相关工具
JSON Formatter — 在嵌入Markdown文档之前格式化JSON数据。
Diff Checker — 比较Markdown文档的两个版本,找出草稿之间的变化。
Text Diff — 用于审计文档中散文变化的文本对比工具。
立即试用Markdown编辑器:Markdown Editor