\n\n## 第三步:实现实时预览\n\n继续在script标签后面加上我们自己的代码:\n\n \n\n这段代码做了一件事:每当你在左边打字(input事件),就把内容交给marked翻译,然后显示在右边。\n\n## 第四步:加一些默认内容\n\n打开编辑器空空的不好看,我们在textarea里预填一些示例文本,让用户一看就知道怎么用:\n\n # 欢迎使用Markdown编辑器\n\n ## 这是二级标题\n\n **这是加粗文字**\n\n - 列表项1\n - 列表项2\n\n同时在页面加载时触发一次渲染,这样预览区域一开始就有内容。\n\n## 第五步:美化样式\n\n给预览区域加上漂亮的排版样式:标题用深色,段落有行间距,列表有缩进,代码块有灰色背景。这样右边看起来就像一篇排版好的文章。\n\n## 第六步:加上保存功能\n\n用localStorage保存用户写的内容,下次打开还能看到。在input事件里加一行保存代码,在页面加载时读取之前保存的内容:\n\n // 保存\n localStorage.setItem(\"md-content\", editor.value);\n\n // 读取\n var saved = localStorage.getItem(\"md-content\");\n if (saved) editor.value = saved;\n\n## 可以继续改进的地方\n\n- 加一个工具栏,点按钮插入常用语法\n- 支持导出为HTML文件\n- 加上夜间模式切换\n- 支持快捷键,比如 Ctrl+B 加粗\n\n一个实用的Markdown编辑器就这么做好了。虽然功能比不上专业软件,但它是你自己写的,想加什么功能都可以。","datePublished":"2026-03-29 04:00:02","dateModified":"2026-03-29 04:00:02","wordCount":2020,"inLanguage":"zh-CN","author":{"@type":"Person","name":"站长","url":"https://woshird.com"},"publisher":{"@type":"Organization","name":"人人都是程序员","url":"https://woshird.com","logo":{"@type":"ImageObject","url":"https://woshird.com/favicon.ico"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://woshird.com/article/online-markdown-editor"},"isPartOf":{"@type":"WebSite","name":"人人都是程序员","url":"https://woshird.com"},"about":{"@type":"Thing","name":"做个网站"},"keywords":"做个网站,,AI编程,做一个在线Markdown编辑器","interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":103},{"@type":"InteractionCounter","interactionType":"https://schema.org/ReadAction","userInteractionCount":1383}]}
🌐
🌐
🌐
🌐

做一个在线Markdown编辑器

站长
2026年3月29日 · 阅读 1383 · 点赞 103 · 预计 3 分钟
分享:

Markdown是什么?

如果你用过微信聊天的加粗功能,你就已经接触过类似的东西了。Markdown是一种特别简单的写作格式——你在文字前面加个井号就是标题,加两个星号就是加粗,写起来比Word快多了。

程序员写文档、博主写文章、学生记笔记都爱用它。今天我们来做一个在线的Markdown编辑器,左边打字,右边实时看效果。

整体设计

想象一下:打开网页,屏幕分成左右两半。左边是一个文本框,你在里面用Markdown语法写东西;右边立刻显示排版好的效果。就像一面神奇的镜子,你写什么,它就帮你美化什么。

第一步:搭建页面结构

创建 index.html 文件:




Markdown编辑器







display: flex 的意思是让两个元素并排显示,就像把两张桌子并在一起。

第二步:引入Markdown解析库

把Markdown语法变成漂亮的网页需要一个翻译官。我们用一个叫 marked 的工具库,它就像一个翻译,把Markdown翻译成浏览器能显示的格式。

在HTML的body结束标签前加上:

第三步:实现实时预览

继续在script标签后面加上我们自己的代码:

这段代码做了一件事:每当你在左边打字(input事件),就把内容交给marked翻译,然后显示在右边。

第四步:加一些默认内容

打开编辑器空空的不好看,我们在textarea里预填一些示例文本,让用户一看就知道怎么用:

# 欢迎使用Markdown编辑器

## 这是二级标题

这是加粗文字

- 列表项1
- 列表项2

同时在页面加载时触发一次渲染,这样预览区域一开始就有内容。

第五步:美化样式

给预览区域加上漂亮的排版样式:标题用深色,段落有行间距,列表有缩进,代码块有灰色背景。这样右边看起来就像一篇排版好的文章。

第六步:加上保存功能

用localStorage保存用户写的内容,下次打开还能看到。在input事件里加一行保存代码,在页面加载时读取之前保存的内容:

// 保存
localStorage.setItem("md-content", editor.value);

// 读取
var saved = localStorage.getItem("md-content");
if (saved) editor.value = saved;

可以继续改进的地方

  • 加一个工具栏,点按钮插入常用语法

  • 支持导出为HTML文件

  • 加上夜间模式切换

  • 支持快捷键,比如 Ctrl+B 加粗
  • 一个实用的Markdown编辑器就这么做好了。虽然功能比不上专业软件,但它是你自己写的,想加什么功能都可以。

    站长
    人人都是程序员,站长
    分享: