![]()
2024年,全球Markdown工具市场规模冲到12亿美元。但一个尴尬的事实是:当你只想「漂亮地读个文件」,要么得买Typora授权,要么得等VS Code加载整个工作区,要么得把文档传到GitHub Gist等网络渲染。三件事的共同点?都像用挖掘机铲土。
开发者Alex Chen(化名)被这件事折磨了两年后,做了一个反常识的决定:把Markdown阅读器塞进单个HTML文件。没有安装包,没有依赖项,拖进去就能用。这个叫EdgeMD Viewer的项目,在GitHub发布两周收获3400星标。
「单文件架构」是强迫症,也是产品哲学
EdgeMD Viewer的代码结构简单到离谱:一个index.html,844行,包含解析器、渲染器、编辑器、样式表全部逻辑。Alex的解释很直接:「约束催生极简。当你规定『所有东西必须塞在一个文件里』,每个功能都得证明自己值得占那几KB。」
技术栈只有两样:marked.js(Markdown解析,CDN加载)和DOMPurify(XSS过滤,同样CDN)。没有构建步骤,没有node_modules黑洞,没有Webpack配置地狱。你可以把它发邮件给同事,塞进U盘带走,或者丢到任何静态托管服务——GitHub Pages、Netlify、甚至公司内网的旧服务器。
这个设计有个意外收获:版本控制变得极其干净。Alex展示了他的提交记录,「v1.0到v1.3,每次更新都是单文件diff。用户想回滚?直接找历史版本的HTML下载就行。」
![]()
被低估的File System Access API
浏览器端的Markdown工具长期有个死结:编辑完怎么保存?传统方案是「导出→下载→手动替换原文件」,或者更糟的——劝你把文档传上云端。
EdgeMD的解法藏在Chrome 86就支持的File System Access API里。用户第一次打开本地.md文件时,浏览器请求一次文件系统权限,之后就能直接写回磁盘。Cmd+S保存,原文件当场更新。没有下载弹窗,没有临时文件堆积,体验接近原生应用。
「这个API存在四年了,」Alex说,「但大多数Web工具宁愿做云端同步,也不愿意碰本地文件系统。因为后者意味着放弃订阅制商业模式。」
隐私设计是另一处细节:EdgeMD加载完成后零网络请求。没有Google Analytics埋点,没有Sentry错误上报,没有字体CDN回退。连中文字体Noto Sans TC都是Base64编码硬编码在CSS里的——多占87KB,换来的是断网环境下的完全可用。
阅读体验的「微交互」陷阱
![]()
界面设计上,Alex花了比核心代码更长的时间调细节。阅读视图用暖石色板(warm stone palette):纯白底、暖灰正文、柔和黑标题,内容区锁死720px宽度,行高1.8。目标只有一个:让Markdown「有呼吸感」。
编辑器从右侧滑入,不是分屏模式,而是覆盖层。按Cmd+E调出,改完点Done,阅读视图实时刷新。没有「预览/源码」的模式切换,没有左右眼来回跳的疲劳。
导出功能同样遵循单文件原则:生成的HTML自带所有CSS,没有外部链接,没有CDN依赖。接收方双击打开,看到的效果和你在EdgeMD里一模一样。
「我测试了37种Markdown扩展语法,」Alex提到一个具体数字,「最后只保留了GFM(GitHub Flavored Markdown)核心集。表格、任务列表、删除线、代码块。脚注?数学公式?Diagram图表?对不起,去用Obsidian。EdgeMD的定位是『读』,不是『写论文』。」
这种克制带来了意外用户群:法务和投行分析师。他们的工作流里充斥着交易备忘录、尽调清单、董事会材料,全部以.md格式沉淀在共享盘里。「他们不需要协作功能,」Alex说,「只需要一个双击就能打开、看起来不像记事本的工具。」
GitHub评论区有个高赞反馈来自某风投机构的VP:「我把它存在公司笔记本的桌面,实习生发来的TS文档拖进去就能批注。比让IT装Typora快多了。」
EdgeMD Viewer的README最后更新于三天前,新增了一条「非目标」声明:不会添加插件系统,不会支持实时协作,不会做移动端适配。Alex的回应是:「每个『不做』都是为了让『做』的部分足够好。单文件架构是护城河,也是牢笼——但在这个场景里,牢笼就是产品。」
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.