[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"tool-content-markdown-edit":3,"i-lucide:menu":183,"i-lucide:grip":188,"i-lucide:chevron-right":190,"i-lucide:moon":192,"i-lucide:sun":194,"i-material-symbols:language":196,"i-lucide:chevron-down":198,"i-lucide:shield-check":200,"i-lucide:mail":202,"i-tabler:markdown":204,"i-lucide:code-xml":206,"i-lucide:film":208,"i-lucide:file-text":210,"i-lucide:box":212,"i-lucide:code-2":214,"i-lucide:image":215,"i-lucide:square-sigma":217,"i-lucide:gamepad-2":219,"i-lucide:sparkles":221,"i-lucide:graduation-cap":223,"tool-content-markdown-lint":225,"i-lucide:file-search":363,"i-lucide:eye":365,"i-lucide:upload":367,"i-lucide:folder-open":369,"i-lucide:image-plus":371,"i-lucide:wand-sparkles":373,"i-lucide:download":375,"i-lucide:trash-2":377,"i-lucide:send":379,"i-lucide:arrow-right-from-line":381,"i-lucide:git-pull-request":383,"i-lucide:book":385,"i-lucide:check-circle":387,"i-lucide:shield":389,"i-lucide:clipboard-paste":391,"i-lucide:search":393,"i-lucide:zap":395,"i-lucide:pen-line":397,"i-lucide:git-branch":399,"i-lucide:share-2":401,"i-lucide:file-code":403,"i-lucide:diff":405,"i-lucide:arrow-up-right":407,"i-lucide:list-checks":409},{"strings":4,"features":85,"steps":116,"useCases":138,"articleHtml":180},{"zh":5,"en":45},{"heroLead":6,"tabEditor":7,"tabPreview":8,"importFile":9,"importFolder":10,"importSuccess":11,"importError":12,"importInvalidType":13,"importTooLarge":14,"importNoMd":15,"importConfirmOverwrite":16,"shareLink":17,"downloadFile":18,"autoFix":19,"autoFixing":20,"autoFixDone":21,"autoFixNone":22,"autoFixError":23,"quadrantUnicodeDesc":24,"quadrantUnicodeFix":25,"chineseQuoteDesc":26,"chineseQuoteFix":27,"clearContent":28,"clearContentConfirm":29,"uploadImage":30,"editorAriaLabel":31,"exportToConvert":32,"faq1q":33,"faq1a":34,"faq2q":35,"faq2a":36,"faq3q":37,"faq3a":38,"faq4q":39,"faq4a":40,"faq5q":41,"faq5a":42,"faq6q":43,"faq6a":44},"左侧 Markdown，右侧实时 HTML 预览。草稿自动保存到本机浏览器。","编辑器","预览","导入文件","导入文件夹","已导入「{name}」","读取文件失败，请重试。","仅支持 .md \u002F .markdown \u002F .txt \u002F .zip 文件。","文件过大（超过 {size}），请分段处理。","未找到 .md 文件，请确认 ZIP 或文件夹中包含 Markdown 文件。","导入将覆盖当前编辑器中的内容，是否继续？","发送","下载 .md","自动修复格式","修复中…","已修复 {count} 处格式问题","格式已规范，无需修复","格式修复失败，请重试","quadrantChart 的数据点名称含有中文等非 ASCII 字符时，需用英文双引号包裹才能正常渲染。点击下方按钮可自动修正。","自动加上引号","Mermaid 解析器遇到中文字符或中文标点（如中文冒号 ：）时可能报 unrecognized text 错误。点击下方按钮可自动在节点标签和边标签中加上英文双引号。","自动加引号修复","清空","确定清空当前内容吗？","上传图片","Markdown 编辑区","导出预览","我的草稿保存在哪里？","草稿每隔几秒自动保存到浏览器的 localStorage，刷新页面后仍然存在。完成后点击工具栏右上的『保存』按钮，可下载为本地 .md 文件。","支持 GitHub 风味 Markdown（GFM）吗？","支持。表格、任务清单、删除线、带语言标签的代码块、自动识别的链接，在右侧预览中都会按 GitHub 等主流渲染器的样式显示。","可以直接粘贴 \u002F 上传图片吗？","通过工具栏的『上传图片』按钮插入。图片以本地 object URL 形式存储 — 仅在当前浏览器会话中有效，不会上传。导出 .md 文件时图片引用使用本地 ID，发布前请替换为图床地址。","支持 Mermaid 图 \u002F 数学公式（LaTeX）吗？","为了让构建包保持精简，编辑器关闭了 Mermaid。需要绘图或公式时，建议把 Markdown 切到关联工具『Markdown → PDF』中导出，那里对数学公式支持完整。","写完之后怎么分享给没有 Markdown 预览器的同事？","点编辑器工具栏的「发送」按钮，几秒内就能生成一条在线预览链接。对方用浏览器打开链接即可看到完整排版效果，无需安装任何工具，无需注册任何账号，链接 {0} 天内有效。适合把需求文档、技术方案、会议纪要发给不用 Markdown 的产品经理、设计师或客户预览。","有字数 \u002F 字符统计吗？","编辑器右下角实时显示字符数和行数。中文 \u002F 日文 \u002F 韩文的『词数』属于近似值 — 如果需要精确字数请用专门的统计工具。",{"heroLead":46,"tabEditor":47,"tabPreview":48,"importFile":49,"importFolder":50,"importSuccess":51,"importError":52,"importInvalidType":53,"importTooLarge":54,"importNoMd":55,"importConfirmOverwrite":56,"shareLink":57,"downloadFile":58,"autoFix":59,"autoFixing":60,"autoFixNone":61,"autoFixDone":62,"autoFixError":63,"quadrantUnicodeDesc":64,"quadrantUnicodeFix":65,"chineseQuoteDesc":66,"chineseQuoteFix":67,"clearContent":68,"clearContentConfirm":69,"uploadImage":70,"editorAriaLabel":71,"exportToConvert":72,"faq1q":73,"faq1a":74,"faq2q":75,"faq2a":76,"faq3q":77,"faq3a":78,"faq4q":79,"faq4a":80,"faq5q":81,"faq5a":82,"faq6q":83,"faq6a":84},"Side-by-side Markdown editor with live HTML preview. Auto-saved to your browser.","Editor","Preview","Import file","Import folder","Imported \"{name}\"","Failed to read the file. Please try again.","Only .md \u002F .markdown \u002F .txt \u002F .zip files are supported.","File is too large (over {size}).","No .md file found. Make sure the ZIP or folder contains a Markdown file.","Importing will overwrite the current editor content. Continue?","Send","Download .md","Auto-fix Format","Fixing…","Format looks good, nothing to fix","Fixed {count} formatting issue(s)","Format fix failed, please try again","quadrantChart data point names containing non-ASCII characters (such as Chinese) must be wrapped in double quotes to render correctly. Click the button below to auto-fix.","Auto-add quotes","Mermaid's parser may throw an \"unrecognized text\" error when labels contain Chinese characters or CJK punctuation (e.g. ：). Click below to automatically wrap affected labels in double quotes.","Auto-fix with quotes","Clear","Are you sure you want to clear the current content?","Upload image","Markdown editor","Export Preview","Where are my drafts saved?","Drafts auto-save to your browser's localStorage every few seconds. They persist across page reloads on the same browser. Use the \"Save\" button in the toolbar to export the .md file when you're done.","Does the editor support GitHub-Flavored Markdown (GFM)?","Yes. Tables, task lists, strikethrough, fenced code blocks with language hints, and auto-linked URLs all render correctly in the live preview, matching what you'd see on GitHub or most modern Markdown renderers.","Can I paste images directly?","Use the \"Upload Image\" button in the toolbar to insert images. Images are stored locally as object URLs — they live in this browser session and are never uploaded. When you save the .md file, image references use the local IDs; replace them with hosted URLs when you publish.","Does it support Mermaid \u002F math (LaTeX)?","Mermaid is intentionally disabled to keep the bundle lean. For diagrams and equations we recommend exporting your Markdown to PDF via the related Markdown → PDF tool, which has full math support.","How do I share a preview with someone who doesn't have a Markdown viewer?","Click the \"Send\" button in the editor toolbar — it generates a shareable online preview link in seconds. Anyone who opens the link sees your Markdown rendered with full formatting directly in their browser: no tool to install, no account to create. The link is valid for {0} days. Great for sharing PRDs, tech specs, meeting notes, or any draft with product managers, designers, or clients who don't use Markdown.","Is there a word \u002F character counter?","The bottom-right of the editor shows live character and line counts. Word counting for CJK languages is approximate — for precise stats use a dedicated word counter.",{"zh":86,"en":103},[87,91,95,99],{"icon":88,"title":89,"desc":90},"lucide:eye","实时双栏预览","左侧 Markdown 编辑、右侧 GFM 渲染同步刷新，所见即所得",{"icon":92,"title":93,"desc":94},"lucide:save","localStorage 自动保存","每次输入 500ms 后自动落盘，刷新或重启浏览器都不会丢草稿",{"icon":96,"title":97,"desc":98},"lucide:download","一键下载 .md","Cmd\u002FCtrl + S 导出为 .md 文件，可直接进 Git 仓库或笔记库",{"icon":100,"title":101,"desc":102},"lucide:shield","草稿不离开本机","没有账号、没有云同步、没有埋点，写作内容只存在浏览器内",[104,107,110,113],{"icon":88,"title":105,"desc":106},"Side-by-side live preview","Markdown on the left, GFM-rendered HTML on the right — what you write is what you see",{"icon":92,"title":108,"desc":109},"Auto-save to localStorage","Every keystroke is persisted within 500ms; refresh or close the tab without losing work",{"icon":96,"title":111,"desc":112},"One-click .md export","Cmd\u002FCtrl + S downloads the .md file, ready for Git, Notion, Obsidian or any Markdown tool",{"icon":100,"title":114,"desc":115},"Drafts never leave your device","No accounts, no cloud sync, no tracking — content lives only in your browser",{"zh":117,"en":128},[118,122,125],{"icon":119,"title":120,"desc":121},"lucide:pen","开始写作","在编辑区输入 Markdown 内容，支持语法高亮提示",{"icon":88,"title":123,"desc":124},"实时预览","右侧实时渲染预览，确认格式和排版效果无误",{"icon":96,"title":126,"desc":127},"导出保存","将文档导出为 .md 文件保存到本地，随时继续编辑",[129,132,135],{"icon":119,"title":130,"desc":131},"Start Writing","Type Markdown in the editor with syntax highlighting assistance",{"icon":88,"title":133,"desc":134},"Preview in Real Time","The right panel renders your content live as you type",{"icon":96,"title":136,"desc":137},"Export & Save","Download your document as a .md file to continue editing later",{"zh":139,"en":162},[140,143,146,150,154,158],{"icon":119,"title":141,"desc":142},"在线撰写技术文档","开发者在浏览器中写文档，无需安装编辑器，随时可用",{"icon":88,"title":144,"desc":145},"实时预览排版效果","写作与渲染并排显示，所见即所得，减少来回切换",{"icon":147,"title":148,"desc":149},"lucide:book-open","记录学习和阅读笔记","用 Markdown 语法快速记录笔记，导出保存到本地",{"icon":151,"title":152,"desc":153},"lucide:file-text","起草 README 文件","开源项目作者在线编写 README，实时预览渲染效果",{"icon":155,"title":156,"desc":157},"lucide:layout","写博客文章初稿","内容创作者用 Markdown 起草文章，专注内容不分心排版",{"icon":159,"title":160,"desc":161},"lucide:cloud","随时随地继续写作","文档保存在浏览器本地，随时打开继续编辑无需同步工具",[163,166,168,171,174,177],{"icon":119,"title":164,"desc":165},"Write Technical Docs Online","Draft documentation in the browser — no editor installation needed",{"icon":88,"title":133,"desc":167},"Side-by-side writing and rendering — see exactly how it will look",{"icon":147,"title":169,"desc":170},"Take Study Notes","Quickly jot notes in Markdown syntax and export them to your device",{"icon":151,"title":172,"desc":173},"Draft README Files","Open-source authors write and preview README files instantly",{"icon":155,"title":175,"desc":176},"Draft Blog Posts","Content creators write in Markdown and focus on words, not formatting",{"icon":159,"title":178,"desc":179},"Write from Anywhere","Docs are saved locally in the browser — pick up writing anytime without sync tools",{"zh":181,"en":182},"\u003Ch2>2026 年用浏览器写 Markdown，为什么比客户端更顺手？\u003C\u002Fh2>\n\u003Cp>Markdown 是技术写作、博客、读书笔记和团队 README 的事实标准。但每次想写一段东西，都要打开 Typora、Obsidian 或 VS Code 似乎有点重 — 切换 IDE 状态、加载插件、等待启动。\u003Cstrong>浏览器里的 Markdown 编辑器\u003C\u002Fstrong>是另一种思路：打开一个标签页就能写，写完就走，草稿留在浏览器本地不会泄漏。\u003C\u002Fp>\n\u003Cp>MeTool 的在线 Markdown 编辑器把这个理念做到极简：左侧编辑、右侧实时预览，自动保存到 localStorage。它不是来替代专业写作软件的 — 而是补上&quot;我现在就想写一段，5 分钟后可能再来改一改&quot;这个场景。2026 年最常被它击中的人群：写微信公众号草稿的运营、写 issue 描述的开发者、写读书摘要的学生、跨设备协作的远程团队。\u003C\u002Fp>\n\u003Cp>更关键的是它的\u003Cstrong>隐私模型\u003C\u002Fstrong>：你写的每一个字符，都只存在于浏览器内存和 localStorage 里。没有云同步、没有账号体系、没有埋点抓取内容。这意味着公司内部规划文档、未公开的产品方案、个人日记，都可以放心地用它起草。\u003C\u002Fp>\n\u003Ch2>MeTool Markdown 编辑器的核心特性\u003C\u002Fh2>\n\u003Ch3>实时预览（GFM 风味）\u003C\u002Fh3>\n\u003Cp>右侧预览实时跟随左侧编辑：标题层级、表格、任务清单、删除线、围栏代码块、引用块、自动识别的链接，全部按 GitHub 风味 Markdown 渲染。粘贴一段从 GitHub README 复制来的内容，所见即所得。\u003C\u002Fp>\n\u003Ch3>localStorage 自动保存\u003C\u002Fh3>\n\u003Cp>每次输入后 500ms 自动落盘到浏览器 localStorage。意外刷新或关闭标签页不会丢内容。下次打开页面，光标位置之外的所有内容都会原样回来 — 草稿状态在你这台设备上&quot;持续存在&quot;。\u003C\u002Fp>\n\u003Ch3>导出 .md 文件\u003C\u002Fh3>\n\u003Cp>右上角&quot;保存&quot;按钮（或 Cmd\u002FCtrl + S）一键下载为 .md 文件，文件名固定为 \u003Ccode>metool_markdown_edit.md\u003C\u002Fcode>。下载后可以直接交给 Git 仓库、Notion、Obsidian、Typora 等任何 Markdown 工具继续使用。\u003C\u002Fp>\n\u003Ch3>内置工具栏（粗体 \u002F 斜体 \u002F 链接 \u002F 表格 \u002F 代码…）\u003C\u002Fh3>\n\u003Cp>顶部工具栏覆盖了高频格式按钮：粗体、斜体、删除线、标题、有序\u002F无序列表、任务清单、引用、围栏代码、行内代码、链接、图片、表格、撤销\u002F重做。键盘党也可以直接打 Markdown 语法，工具栏只是辅助。\u003C\u002Fp>\n\u003Ch3>桌面 \u002F 移动双形态\u003C\u002Fh3>\n\u003Cp>桌面端默认双栏（编辑 + 预览），移动端切到 Tab 模式，避免在小屏幕上挤成两半。竖屏写作 + 横屏预览 也是常见用法。\u003C\u002Fp>\n\u003Ch2>它最适合什么场景？\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>分享给同事 \u002F 朋友预览：\u003C\u002Fstrong>写完后点工具栏的「\u003Cstrong>发送\u003C\u002Fstrong>」按钮，一秒生成一条 \u003Ca href=\"\u002Fmarkdown\u002Fshare\u002F\">在线预览链接\u003C\u002Fa>，7 天内对方打开链接即可看到完整的 Markdown 排版效果 — 对方无需安装任何工具、无需注册任何账号。非常适合发 PRD、设计方案、技术 RFC 给没有 Markdown 预览器的同事。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>微信公众号 \u002F 小红书草稿：\u003C\u002Fstrong>先在 MeTool 编辑器里把想法写顺，再切到 \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">Markdown → 微信公众号\u003C\u002Fa> 或 \u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">Markdown → 小红书\u003C\u002Fa> 一键排版发布。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Issue \u002F PR 描述：\u003C\u002Fstrong>写完直接复制粘贴到 GitHub，所有 GFM 语法都兼容。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>读书笔记 \u002F 课程笔记：\u003C\u002Fstrong>不想花时间配置 Obsidian？打开标签页就开始记，下载 .md 后再归档到笔记库。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>技术文档草稿：\u003C\u002Fstrong>需求评审、架构方案、API 设计草稿 — 在和团队达成一致前，不必上传到 wiki。如果想先让某个人先看一眼，直接「发送」生成链接，不用搭任何文档平台。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>跨设备临时桥接：\u003C\u002Fstrong>写一半想换台机器？下载 .md 用 AirDrop \u002F 邮件 \u002F IM 传过去，几秒搞定。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>工作流建议：把 MeTool 编辑器和发布工具串起来\u003C\u002Fh2>\n\u003Col>\n\u003Cli>\u003Cstrong>起草：\u003C\u002Fstrong>在本页面用 Markdown 写完正文，依靠右侧预览实时校对结构和排版。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>快速共享：\u003C\u002Fstrong>写完想让同事先看一眼？点顶部「发送」按钮，复制 \u003Ca href=\"\u002Fmarkdown\u002Fshare\u002F\">在线预览链接\u003C\u002Fa> 发给对方。对方在浏览器里打开就能看到带完整排版的 Markdown 预览，链接 7 天有效，无需任何账号。跳过了&quot;发 .md 文件 → 对方说看不了&quot;这个来回。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>润色：\u003C\u002Fstrong>关掉标签页休息一下，回头再打开，localStorage 会把内容原样还给你。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>分发：\u003C\u002Fstrong>同样的 .md 内容可以通过 MeTool 内的关联工具一键分发到多个平台 — \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">微信公众号\u003C\u002Fa>、\u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">小红书图文卡片\u003C\u002Fa>、\u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">PDF \u002F 图片 \u002F HTML \u002F Word\u003C\u002Fa>。一稿多投，不用重复排版。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>归档：\u003C\u002Fstrong>下载 .md 文件存进自己的 Git 仓库 \u002F 笔记库，或粘到 GitHub Issue \u002F Notion 中。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>整个流程没有任何账号、没有任何上传、没有任何订阅 — 这正是 2026 年内容创作者最稀缺的工作环境。\u003C\u002Fp>\n","\u003Ch2>Writing Markdown in the browser in 2026: why it beats a desktop editor\u003C\u002Fh2>\n\u003Cp>Markdown has become the de-facto standard for technical writing, blog posts, READMEs, study notes, and team documentation. But every time you want to jot something down, firing up Typora, Obsidian or VS Code feels heavy — context switch, plugin reload, startup wait.\u003C\u002Fp>\n\u003Cp>An \u003Cstrong>in-browser Markdown editor\u003C\u002Fstrong> takes the opposite approach: open a tab and write, close it when done, drafts persist locally without ever leaving your device. MeTool's online Markdown editor takes the idea to its minimal: left side editor, right side live preview, auto-save to localStorage. It's not here to replace your serious writing tool — it's here for the &quot;I want to write something for 5 minutes and possibly come back later&quot; moments that make up most of our actual writing.\u003C\u002Fp>\n\u003Cp>The most important property in 2026 is its \u003Cstrong>privacy model\u003C\u002Fstrong>: every character you type lives only in browser memory and localStorage. No cloud sync, no account system, no tracking pixels reading your content. That makes it safe for confidential planning docs, unreleased product specs, journal entries, anything you wouldn't paste into Google Docs.\u003C\u002Fp>\n\u003Ch2>Core features of the MeTool Markdown editor\u003C\u002Fh2>\n\u003Ch3>Live preview (GFM-flavored)\u003C\u002Fh3>\n\u003Cp>The right pane re-renders as you type: heading levels, tables, task lists, strikethrough, fenced code blocks, blockquotes, auto-linked URLs — all rendered in GitHub-Flavored Markdown style. Paste a snippet from a GitHub README and you'll see it the way GitHub would.\u003C\u002Fp>\n\u003Ch3>localStorage auto-save\u003C\u002Fh3>\n\u003Cp>Every keystroke is debounced 500ms and persisted to localStorage. Accidental tab close or browser refresh won't lose your draft. Reopen the page and your content is exactly where you left it — drafts &quot;live&quot; on this device until you explicitly clear them.\u003C\u002Fp>\n\u003Ch3>Export to .md file\u003C\u002Fh3>\n\u003Cp>Click the &quot;Save&quot; button in the toolbar (or hit Cmd\u002FCtrl + S) to download the current content as a \u003Ccode>metool_markdown_edit.md\u003C\u002Fcode> file. From there it can flow into Git, Notion, Obsidian, Typora, or any Markdown-aware tool.\u003C\u002Fp>\n\u003Ch3>Built-in toolbar (bold \u002F italic \u002F link \u002F table \u002F code…)\u003C\u002Fh3>\n\u003Cp>The top toolbar covers the high-frequency formatting buttons: bold, italic, strikethrough, headings, ordered \u002F unordered lists, task lists, blockquote, fenced code, inline code, link, image, table, undo\u002Fredo. Power users can ignore it and type Markdown directly — the toolbar is just a convenience.\u003C\u002Fp>\n\u003Ch3>Desktop &amp; mobile dual-form\u003C\u002Fh3>\n\u003Cp>Desktop defaults to two-pane (editor + preview). On phones it switches to a tab toggle so each pane gets full width. Portrait writing + landscape preview is a common pairing on tablets.\u003C\u002Fp>\n\u003Ch2>Best-fit scenarios\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Share a preview with teammates or friends:\u003C\u002Fstrong> once you're done writing, hit the &quot;\u003Cstrong>Send\u003C\u002Fstrong>&quot; button in the toolbar — it generates an \u003Ca href=\"\u002Fmarkdown\u002Fshare\u002F\">online preview link\u003C\u002Fa> in one second. Anyone who opens the link sees the fully rendered Markdown in their browser for 7 days. \u003Cem>No Markdown viewer needed on their end, no sign-up, no install.\u003C\u002Fem> Perfect for sharing a PRD, design spec, or technical RFC with colleagues who don't have a Markdown renderer.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WeChat \u002F Xiaohongshu drafts:\u003C\u002Fstrong> get the structure right in the editor first, then jump to \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">Markdown → WeChat\u003C\u002Fa> or \u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">Markdown → Xiaohongshu\u003C\u002Fa> for one-click publishing.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Issue \u002F PR descriptions:\u003C\u002Fstrong> write here, copy-paste into GitHub — all GFM syntax round-trips cleanly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reading &amp; study notes:\u003C\u002Fstrong> too lazy to set up Obsidian? Open a tab, jot down, download the .md, archive it later in your knowledge base.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tech doc drafts:\u003C\u002Fstrong> requirement reviews, architecture proposals, API design notes — keep them off the wiki until the team aligns. If you want someone to review early, just hit &quot;Send&quot; for a shareable link — no document platform required.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cross-device temporary bridge:\u003C\u002Fstrong> halfway through writing and need to switch machines? Download the .md and AirDrop \u002F email \u002F message it across — done in seconds.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Suggested workflow: chain the editor with publishing tools\u003C\u002Fh2>\n\u003Col>\n\u003Cli>\u003Cstrong>Draft:\u003C\u002Fstrong> write the body in Markdown here, with the live preview on the right confirming structure as you go.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Share for review:\u003C\u002Fstrong> done writing and want a teammate to review? Hit the &quot;Send&quot; button and copy the \u003Ca href=\"\u002Fmarkdown\u002Fshare\u002F\">online preview link\u003C\u002Fa> to share. They open it in their browser and see fully formatted Markdown — no Markdown viewer, no app to install. Link is valid for 7 days. Skip the &quot;send .md → teammate says they can't open it&quot; back-and-forth.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Polish:\u003C\u002Fstrong> close the tab, take a break, come back later — localStorage hands the draft right back to you.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Distribute:\u003C\u002Fstrong> the same .md content can flow through MeTool's related publishing tools — \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">WeChat Article\u003C\u002Fa>, \u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">Xiaohongshu Cards\u003C\u002Fa>, \u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">PDF \u002F Image \u002F HTML \u002F Word\u003C\u002Fa>. Write once, publish everywhere — no manual reformatting per platform.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Archive:\u003C\u002Fstrong> download the .md to your Git repo \u002F knowledge base, or paste it into a GitHub Issue \u002F Notion page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The whole flow has no accounts, no uploads, no subscriptions — exactly the kind of working environment 2026 content creators have a hard time finding.\u003C\u002Fp>\n",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":187},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":189},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":191},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":193},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":195},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":197},"\u003Cpath fill=\"currentColor\" d=\"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12.013 2t3.875.788t3.175 2.15t2.15 3.175t.787 3.875t-.787 3.887t-2.15 3.188t-3.175 2.15t-3.875.787t-3.888-.787M12 19.95q.65-.9 1.125-1.875T13.9 16h-3.8q.3 1.1.775 2.075T12 19.95m-2.6-.4q-.45-.825-.787-1.713T8.05 16H5.1q.725 1.25 1.813 2.175T9.4 19.55m5.2 0q1.4-.45 2.488-1.375T18.9 16h-2.95q-.225.95-.562 1.838T14.6 19.55M4.25 14h3.4q-.075-.5-.112-.987T7.5 12t.038-1.012T7.65 10h-3.4q-.125.5-.187.988T4 12t.063 1.013t.187.987m5.4 0h4.7q.075-.5.113-.987T14.5 12t-.038-1.012T14.35 10h-4.7q-.075.5-.112.988T9.5 12t.038 1.013t.112.987m6.7 0h3.4q.125-.5.188-.987T20 12t-.062-1.012T19.75 10h-3.4q.075.5.113.988T16.5 12t-.038 1.013t-.112.987m-.4-6h2.95q-.725-1.25-1.812-2.175T14.6 4.45q.45.825.788 1.713T15.95 8M10.1 8h3.8q-.3-1.1-.775-2.075T12 4.05q-.65.9-1.125 1.875T10.1 8m-5 0h2.95q.225-.95.563-1.838T9.4 4.45Q8 4.9 6.912 5.825T5.1 8\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":199},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":201},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":203},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":205},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\u002F>\u003Cpath d=\"M7 15V9l2 2l2-2v6m3-2l2 2l2-2m-2 2V9\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":207},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m18 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":209},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M7 3v18M3 7.5h4M3 12h18M3 16.5h4M17 3v18m0-13.5h4m-4 9h4\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":211},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":213},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\"\u002F>\u003Cpath d=\"m3.3 7l8.7 5l8.7-5M12 22V12\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":207},{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":216},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003Cpath d=\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":218},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M16 8.9V7H8l4 5l-4 5h8v-1.9\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":220},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 11h4M8 9v4m7-1h.01M18 10h.01m-.69-5H6.68a4 4 0 0 0-3.978 3.59l-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258q-.01-.075-.017-.151A4 4 0 0 0 17.32 5\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":222},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":224},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6\"\u002F>\u003Cpath d=\"M6 12.5V16a6 3 0 0 0 12 0v-3.5\"\u002F>\u003C\u002Fg>",{"strings":226,"features":265,"steps":295,"useCases":318,"articleHtml":360},{"zh":227,"en":246},{"autoFixNone":22,"autoFixError":23,"heroLead":228,"fixCta":19,"fixCtaFixing":20,"issuesBadge":229,"issuesFixable":230,"issuesNone":231,"statusChecking":232,"showDetails":233,"hideDetails":234,"issueLineLabel":235,"faq1q":236,"faq1a":237,"faq2q":238,"faq2a":239,"faq3q":240,"faq3a":241,"faq4q":242,"faq4a":243,"faq5q":244,"faq5a":245},"粘贴或导入 Markdown，一键自动修复格式问题，输出规范的 .md 文件。","发现 {count} 处格式问题","可自动修复 {fixable} 处","格式检查通过","检测中…","查看详情","收起","第 {line} 行","自动修复能修哪些格式问题？","基于 markdownlint 规则，可自动修复：① 标题 # 号后缺少空格（##标题 → ## 标题）② 标题前后缺少空行 ③ 行尾多余空格 ④ 有序列表全部写成 1.（自动修为 1. 2. 3. 递增）⑤ 列表标记后空格数量不对 ⑥ 文件末尾缺少换行 ⑦ 硬 Tab 缩进转换为空格。以上均可一键处理，不会改变内容含义。注意：markdownlint 默认允许全用 1. 的写法，本工具已显式开启递增校验。","不能自动修复的问题有哪些？","部分问题需人工判断，工具不会自动修改：行长度（因为合理的长行取决于上下文）、链接引用是否有效、代码块语言标识是否正确、图片 alt 属性是否有意义。如需完整格式报告，建议配合本地 markdownlint-cli2 使用。","修复后的内容会上传到服务器吗？","不会。格式校验和修复完全在浏览器本地运行（基于 markdownlint JavaScript 库），你的 Markdown 内容不会离开设备，适合处理内部文档、未发布的草稿。","修复会破坏我的内容吗？","不会改变任何文字内容，只调整空格、空行、缩进等纯格式字符。但建议修复前先下载备份，或利用编辑器内的「撤销」（Ctrl\u002FCmd + Z）来确认效果。","它和 Prettier 的 Markdown 格式化有什么区别？","Prettier 会对整个文档做风格统一（比如折行宽度、引号、空格），改动较激进，适合团队代码库做强制一致。本工具基于 markdownlint，只修复明确违规的格式错误，改动更保守，不会重写整段文字，更适合修复『别人发来的格式混乱的 .md 文件』这类场景。",{"autoFixNone":61,"autoFixError":63,"heroLead":247,"fixCta":59,"fixCtaFixing":60,"issuesBadge":248,"issuesFixable":249,"issuesNone":250,"statusChecking":251,"showDetails":252,"hideDetails":253,"issueLineLabel":254,"faq1q":255,"faq1a":256,"faq2q":257,"faq2a":258,"faq3q":259,"faq3a":260,"faq4q":261,"faq4a":262,"faq5q":263,"faq5a":264},"Paste or import Markdown and auto-fix formatting issues — output a clean, standards-compliant .md file.","{count} formatting issue(s) found","{fixable} auto-fixable","Format check passed","Checking…","Show details","Hide","Line {line}","What formatting problems does the auto-fix handle?","Powered by markdownlint rules, it automatically fixes: ① Missing space after # in headings (##Heading → ## Heading) ② Missing blank lines around headings ③ Trailing whitespace on lines ④ Ordered lists where every item is \"1.\" — converted to incrementing 1. 2. 3. (note: markdownlint allows all-ones by default; this tool explicitly enables the ordered-numbering check) ⑤ Incorrect spacing after list markers ⑥ Missing newline at end of file ⑦ Hard tabs converted to spaces. All changes are format-only and never alter content.","What issues can't be auto-fixed?","Some issues require human judgment and won't be touched automatically: line length (reasonable long lines depend on context), whether links resolve correctly, whether code-block language tags are accurate, or whether image alt text is meaningful. For a full lint report, pair this with markdownlint-cli2 locally.","Is my Markdown content uploaded to a server?","No. Format checking and auto-fixing run entirely in your browser using the markdownlint JavaScript library. Your Markdown never leaves your device — safe for internal documents and unpublished drafts.","Will the fix break my content?","No content words are ever changed — only whitespace, blank lines, and indentation are adjusted. That said, we recommend downloading a backup first, or using Ctrl\u002FCmd + Z in the editor to review the diff after fixing.","How is this different from Prettier's Markdown formatting?","Prettier re-flows the entire document (line width, quotes, spacing) — it's aggressive and suited to enforcing consistency across a team codebase. This tool uses markdownlint and only fixes clear rule violations, making far fewer changes. It's better suited for the \"fix someone else's poorly formatted .md file\" scenario without rewriting your prose.",{"zh":266,"en":282},[267,271,275,278],{"icon":268,"title":269,"desc":270},"lucide:check-circle","一键自动修复","标题空格、列表缩进、行尾空格、空行缺失等常见问题自动纠正，省去手动逐行检查",{"icon":272,"title":273,"desc":274},"lucide:list-checks","详细错误清单","按行号列出所有格式问题，点击跳转定位，修复进度一目了然",{"icon":100,"title":276,"desc":277},"内容本地处理","校验与修复完全在浏览器端完成，文稿内容不会发送到任何服务器",{"icon":279,"title":280,"desc":281},"lucide:zap","基于 markdownlint 规则","兼容 markdownlint 标准规则集，与 VSCode 插件、CI 校验保持一致",[283,286,289,292],{"icon":268,"title":284,"desc":285},"One-click auto-fix","Heading spaces, list indentation, trailing spaces, missing blank lines — all corrected automatically",{"icon":272,"title":287,"desc":288},"Detailed error list","Issues listed by line number with click-to-jump navigation — fix progress at a glance",{"icon":100,"title":290,"desc":291},"Content stays local","Linting and fixing run entirely in the browser — your document never leaves the device",{"icon":279,"title":293,"desc":294},"markdownlint-compatible","Uses the standard markdownlint rule set — consistent with VSCode plugins and CI lint checks",{"zh":296,"en":308},[297,301,305],{"icon":298,"title":299,"desc":300},"lucide:clipboard-paste","输入 Markdown","粘贴或上传需要检查的 Markdown 文档",{"icon":302,"title":303,"desc":304},"lucide:search","运行格式检查","自动检测格式问题，列出错误位置和修复建议",{"icon":279,"title":306,"desc":307},"修复并导出","一键修复可自动修正的问题，下载规范化后的文档",[309,312,315],{"icon":298,"title":310,"desc":311},"Input Markdown","Paste or upload the Markdown document you want to check",{"icon":302,"title":313,"desc":314},"Run Lint Check","Scan for formatting issues with locations and fix suggestions listed",{"icon":279,"title":316,"desc":317},"Fix & Export","Auto-fix correctable issues and download the cleaned-up document",{"zh":319,"en":341},[320,323,327,331,334,337],{"icon":268,"title":321,"desc":322},"检查文档格式规范","自动发现标题层级错误、空格缺失等常见 Markdown 问题",{"icon":324,"title":325,"desc":326},"lucide:git-pull-request","提交前校验文档","开发者在合并 PR 前用 lint 检查 Markdown 文档质量",{"icon":328,"title":329,"desc":330},"lucide:book","统一团队写作风格","配置统一规则，确保多人协作文档风格一致",{"icon":279,"title":332,"desc":333},"一键自动修复问题","检查后自动修复可修复的格式问题，减少手动调整",{"icon":151,"title":335,"desc":336},"清理历史文档","对旧文档批量检查并修复格式，提升文档库整体质量",{"icon":338,"title":339,"desc":340},"lucide:graduation-cap","学习 Markdown 规范","通过 lint 提示学习标准 Markdown 写法，养成良好书写习惯",[342,345,348,351,354,357],{"icon":268,"title":343,"desc":344},"Check Doc Formatting","Automatically catch heading level errors, missing spaces, and other Markdown issues",{"icon":324,"title":346,"desc":347},"Validate Before PR Merge","Run lint checks on Markdown docs before merging pull requests",{"icon":328,"title":349,"desc":350},"Enforce Team Style","Configure shared rules to keep writing style consistent across contributors",{"icon":279,"title":352,"desc":353},"Auto-Fix Issues","Automatically fix correctable formatting problems after scanning",{"icon":151,"title":355,"desc":356},"Clean Up Legacy Docs","Batch-check and fix formatting in old documents to improve doc quality",{"icon":338,"title":358,"desc":359},"Learn Markdown Best Practices","Lint hints teach standard Markdown conventions and build good writing habits",{"zh":361,"en":362},"\u003Ch2>Markdown 格式规范为什么这么重要？\u003C\u002Fh2>\n\u003Cp>Markdown 的优势在于用纯文本表达结构，但这也带来一个隐患：不同工具对&quot;格式容忍度&quot;差异极大。GitHub 会把 \u003Ccode>##标题\u003C\u002Fcode>（# 号后无空格）渲染成普通段落；markdownlint、Vale、CI 流水线会把行尾空格当成 lint 错误；pandoc 导出 PDF 时，标题前缺少空行会导致层级坍塌。\u003C\u002Fp>\n\u003Cp>这些问题在源头不起眼，但在团队协作、版本控制、多平台发布中会形成连锁反应：PR 里出现大量无意义的空格 diff、CI 格式检查失败让发布卡住、同一份 .md 在不同渲染器里呈现不一致……\u003Cstrong>提前把格式修干净\u003C\u002Fstrong>，既是对自己稿件的负责，也是对下游工具链的尊重。\u003C\u002Fp>\n\u003Cp>MeTool 的 Markdown 格式校验与自动修复工具，基于业界最广泛使用的 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDavidAnson\u002Fmarkdownlint\">markdownlint\u003C\u002Fa> 规则集，在浏览器本地运行 — 内容不离开设备，适合处理内部草稿和未公开内容。\u003C\u002Fp>\n\u003Ch2>自动修复能处理的 7 类常见格式问题\u003C\u002Fh2>\n\u003Ch3>① 标题 # 号后缺少空格（MD018 \u002F MD019）\u003C\u002Fh3>\n\u003Cp>很多人习惯打 \u003Ccode>##标题\u003C\u002Fcode>，在浏览器预览里看起来没问题，但严格的渲染器会把它当成普通文本。自动修复会在 # 号后插入规范的空格：\u003Ccode>## 标题\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Ch3>② 标题前后缺少空行（MD022）\u003C\u002Fh3>\n\u003Cp>标题紧跟在正文后面不换行，在一些渲染器和导出工具里会导致标题与上文&quot;粘&quot;在一起，层级错乱。自动修复会在标题前后各插入一个空行。\u003C\u002Fp>\n\u003Ch3>③ 行尾多余空格（MD009）\u003C\u002Fh3>\n\u003Cp>行尾空格在 Markdown 里有特殊含义（两个空格 = 强制换行），但无意的尾随空格会造成 Git diff 噪音、CI lint 失败。自动修复会清除无意义的尾随空格。\u003C\u002Fp>\n\u003Ch3>④ 有序列表序号格式不一致（MD029）\u003C\u002Fh3>\n\u003Cp>有些编辑器或复制粘贴场景会让有序列表全写成 \u003Ccode>1. 1. 1.\u003C\u002Fcode>，GitHub 能渲染，但 Word \u002F PDF 导出工具可能会混乱。自动修复会让序号变成 \u003Ccode>1. 2. 3.\u003C\u002Fcode> 标准递增。\u003C\u002Fp>\n\u003Ch3>⑤ 列表标记后空格不对（MD030）\u003C\u002Fh3>\n\u003Cp>规范要求 \u003Ccode>-\u003C\u002Fcode> 后跟一个空格，有些工具会产生两个或零个空格。自动修复统一为单空格。\u003C\u002Fp>\n\u003Ch3>⑥ 文件末尾缺少换行（MD047）\u003C\u002Fh3>\n\u003Cp>POSIX 标准要求文本文件末尾有换行符。缺少换行会导致 Git 提示 &quot;No newline at end of file&quot;，多人协作时容易产生不必要的 diff。\u003C\u002Fp>\n\u003Ch3>⑦ 硬 Tab 缩进（MD010）\u003C\u002Fh3>\n\u003Cp>代码块外的 Tab 字符在不同渲染器里宽度不一致。自动修复将 Tab 替换为 4 个空格（Markdown 缩进标准）。\u003C\u002Fp>\n\u003Ch2>什么时候用格式修复，什么时候用 Prettier？\u003C\u002Fh2>\n\u003Cp>两个工具定位不同：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>本工具（markdownlint 修复）\u003C\u002Fstrong>：只修复明确的格式违规，不重写内容。适合&quot;帮我把这份别人发来的 .md 修干净&quot;场景，改动最小，不会意外折行或改变排版意图。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Prettier\u003C\u002Fstrong>：风格统一工具，会对整个文档做再排版 — 折行宽度（默认 80 字符）、标点前后空格、列表缩进全部重新整理。适合团队 CI 中强制统一风格，但改动较大，不适合&quot;只想修几个 lint 错误&quot;。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>建议工作流：先用本工具修复格式错误 → 再用 \u003Ca href=\"\u002Fmarkdown\u002Fedit\u002F\">Markdown 编辑器\u003C\u002Fa>做内容润色 → 最后发布到 \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">公众号\u003C\u002Fa> \u002F \u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">PDF\u003C\u002Fa>。\u003C\u002Fp>\n\u003Ch2>在 CI \u002F Pre-commit Hook 里做格式检查\u003C\u002Fh2>\n\u003Cp>本工具专为&quot;随时修一篇 .md&quot;的手动场景设计。如果你管理的是一个 Markdown 文档库或文档站点，建议配合以下方案做自动化保障：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>markdownlint-cli2\u003C\u002Fstrong>：在本地或 CI 里运行 \u003Ccode>markdownlint-cli2 &quot;**\u002F*.md&quot;\u003C\u002Fcode>，--fix 参数自动修复可修复项，退出码非 0 时让 CI 失败。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>pre-commit hook\u003C\u002Fstrong>：配合 husky + lint-staged，提交前自动对 changed .md 文件运行 markdownlint --fix，只拦截有问题的提交。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Actions\u003C\u002Fstrong>：在 PR 里添加 markdownlint-cli2 step，让格式检查成为合并门控的一部分。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>上述方案都基于与本工具相同的规则集，浏览器端的修复结果和 CI 端完全一致。\u003C\u002Fp>\n","\u003Ch2>Why Markdown formatting standards matter\u003C\u002Fh2>\n\u003Cp>Markdown's strength is expressing structure in plain text — but that same simplicity creates a blind spot: different tools have wildly different tolerance for &quot;sloppy&quot; formatting. GitHub will render \u003Ccode>##Heading\u003C\u002Fcode> (no space after #) as plain text; markdownlint, Vale, and CI pipelines flag trailing spaces as lint errors; pandoc collapses heading hierarchy when blank lines are missing.\u003C\u002Fp>\n\u003Cp>These issues seem trivial at the source but cascade badly in team collaboration, version control, and multi-platform publishing: meaningless whitespace diffs in PRs, CI format checks blocking releases, the same .md rendering inconsistently across renderers. \u003Cstrong>Fixing the format upfront\u003C\u002Fstrong> is a form of respect — for your own drafts, and for every downstream tool in your pipeline.\u003C\u002Fp>\n\u003Cp>MeTool's Markdown Format Checker &amp; Auto-Fix tool is powered by the industry-standard \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDavidAnson\u002Fmarkdownlint\">markdownlint\u003C\u002Fa> ruleset and runs entirely in your browser — content never leaves your device, making it safe for internal docs and unpublished drafts.\u003C\u002Fp>\n\u003Ch2>7 common formatting problems the auto-fix handles\u003C\u002Fh2>\n\u003Ch3>① Missing space after # in headings (MD018 \u002F MD019)\u003C\u002Fh3>\n\u003Cp>Many people habitually write \u003Ccode>##Heading\u003C\u002Fcode>. Browser previews often let it slide, but strict renderers treat it as plain text. Auto-fix inserts the required space: \u003Ccode>## Heading\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>② Missing blank lines around headings (MD022)\u003C\u002Fh3>\n\u003Cp>A heading that immediately follows body text without a blank line causes some renderers and export tools to &quot;glue&quot; the heading to the paragraph above, breaking hierarchy. Auto-fix inserts a blank line before and after each heading.\u003C\u002Fp>\n\u003Ch3>③ Trailing whitespace (MD009)\u003C\u002Fh3>\n\u003Cp>Trailing spaces have special meaning in Markdown (two spaces = forced line break), but unintentional trailing spaces create Git diff noise and CI lint failures. Auto-fix removes them.\u003C\u002Fp>\n\u003Ch3>④ Inconsistent ordered-list numbering (MD029)\u003C\u002Fh3>\n\u003Cp>Copy-paste scenarios and certain editors output \u003Ccode>1. 1. 1.\u003C\u002Fcode> throughout. GitHub renders it fine, but Word and PDF export tools may get confused. Auto-fix normalises the sequence to \u003Ccode>1. 2. 3.\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>⑤ Incorrect spacing after list markers (MD030)\u003C\u002Fh3>\n\u003Cp>Spec requires exactly one space after \u003Ccode>-\u003C\u002Fcode> or \u003Ccode>*\u003C\u002Fcode>. Some tools produce two or zero. Auto-fix standardises to a single space.\u003C\u002Fp>\n\u003Ch3>⑥ Missing newline at end of file (MD047)\u003C\u002Fh3>\n\u003Cp>POSIX requires text files to end with a newline. Without one, Git shows &quot;No newline at end of file&quot;, generating spurious diffs in collaborative projects.\u003C\u002Fp>\n\u003Ch3>⑦ Hard tabs (MD010)\u003C\u002Fh3>\n\u003Cp>Literal tab characters outside code blocks render at inconsistent widths across renderers. Auto-fix converts them to four spaces (the Markdown indentation standard).\u003C\u002Fp>\n\u003Ch2>Auto-fix vs. Prettier: which one to reach for\u003C\u002Fh2>\n\u003Cp>The two tools have different jobs:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>This tool (markdownlint auto-fix):\u003C\u002Fstrong> fixes clear rule violations only, never rewrites prose. Best for &quot;clean up the messy .md someone sent me&quot; — minimal diffs, no risk of accidentally re-flowing your text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Prettier:\u003C\u002Fstrong> a style enforcer that re-lays out the entire document — line width (default 80 chars), punctuation spacing, list indentation all get reset. Great for enforcing consistency across a team codebase via CI, but too aggressive for &quot;just fix a few lint errors&quot;.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Recommended workflow: run this tool to fix format errors → polish content in the \u003Ca href=\"\u002Fmarkdown\u002Fedit\u002F\">Markdown editor\u003C\u002Fa> → publish to \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">WeChat\u003C\u002Fa> or export to \u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">PDF\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Automating format checks in CI \u002F pre-commit hooks\u003C\u002Fh2>\n\u003Cp>This tool is designed for the manual &quot;fix one .md right now&quot; scenario. If you maintain a Markdown documentation library or docs site, consider pairing it with these automation approaches:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>markdownlint-cli2:\u003C\u002Fstrong> run \u003Ccode>markdownlint-cli2 &quot;**\u002F*.md&quot;\u003C\u002Fcode> locally or in CI; add \u003Ccode>--fix\u003C\u002Fcode> to auto-repair fixable issues, and let a non-zero exit code block the pipeline.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pre-commit hook:\u003C\u002Fstrong> combine husky + lint-staged to auto-run markdownlint --fix on changed .md files before every commit, so only clean commits land in the repo.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GitHub Actions:\u003C\u002Fstrong> add a markdownlint-cli2 step to PR workflows, making format compliance a merge gate.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All of these use the same ruleset as this browser tool — fixes produced here will match exactly what the CLI produces.\u003C\u002Fp>\n",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":364},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5\"\u002F>\u003Ccircle cx=\"11.5\" cy=\"14.5\" r=\"2.5\"\u002F>\u003Cpath d=\"M13.3 16.3L15 18\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":366},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":368},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":370},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":372},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M16 5h6m-3-3v6m2 3.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"\u002F>\u003Cpath d=\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":374},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m21.64 3.64l-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72M14 7l3 3M5 6v4m14 4v4M10 2v2M7 8H3m18 8h-4M11 3H9\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":376},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\u002F>\u003Cpath d=\"m7 10l5 5l5-5\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":378},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":380},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11zm7.318-19.539l-10.94 10.939\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":382},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5v14m18-7H7m8 6l6-6l-6-6\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":384},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"18\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M13 6h3a2 2 0 0 1 2 2v7M6 9v12\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":386},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":388},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.801 10A10 10 0 1 1 17 3.335\"\u002F>\u003Cpath d=\"m9 11l3 3L22 4\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":390},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":392},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11 14h10M16 4h2a2 2 0 0 1 2 2v1.344M17 18l4-4l-4-4\"\u002F>\u003Cpath d=\"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113\"\u002F>\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":394},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":396},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":398},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 21h8m.174-14.188a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":400},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 6a9 9 0 0 0-9 9V3\"\u002F>\u003Ccircle cx=\"18\" cy=\"6\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"18\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":402},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"5\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"12\" r=\"3\"\u002F>\u003Ccircle cx=\"18\" cy=\"19\" r=\"3\"\u002F>\u003Cpath d=\"m8.59 13.51l6.83 3.98m-.01-10.98l-6.82 3.98\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":404},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5m-10 4.5L8 15l2 2.5m4-5l2 2.5l-2 2.5\"\u002F>\u003C\u002Fg>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":406},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 3v14m-7-7h14M5 21h14\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":408},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":184,"top":184,"width":185,"height":185,"rotate":184,"vFlip":186,"hFlip":186,"body":410},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 5h8m-8 7h8m-8 7h8M3 17l2 2l4-4M3 7l2 2l4-4\"\u002F>",1782799334624]