[{"data":1,"prerenderedAt":197},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:grip":8,"i-lucide:chevron-right":10,"i-lucide:moon":12,"i-lucide:sun":14,"i-material-symbols:language":16,"i-lucide:chevron-down":18,"i-lucide:shield-check":20,"i-lucide:mail":22,"i-tabler:markdown":24,"i-lucide:code-xml":26,"i-lucide:film":28,"i-lucide:file-text":30,"i-lucide:box":32,"i-lucide:code-2":34,"i-lucide:image":35,"i-lucide:square-sigma":37,"i-lucide:gamepad-2":39,"i-lucide:sparkles":41,"i-lucide:graduation-cap":43,"tool-content-markdown-wechat":45,"i-lucide:newspaper":162,"i-lucide:pen":164,"i-lucide:layout-template":166,"i-lucide:clock":168,"i-lucide:image-plus":170,"i-lucide:eye":172,"i-lucide:code":174,"i-lucide:shield":176,"i-lucide:clipboard-paste":178,"i-lucide:palette":180,"i-lucide:copy":182,"i-lucide:pen-line":184,"i-lucide:git-branch":186,"i-lucide:share-2":188,"i-lucide:wand-sparkles":190,"i-lucide:file-code-2":192,"i-lucide:arrow-up-right":195},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":25},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":29},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":31},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":33},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":36},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":38},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":40},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":42},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":44},"\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":46,"features":73,"steps":104,"useCases":128,"articleHtml":159},{"zh":47,"en":60},{"tabEditor":48,"tabPreview":49,"faq1q":50,"faq1a":51,"faq2q":52,"faq2a":53,"faq3q":54,"faq3a":55,"faq4q":56,"faq4a":57,"faq5q":58,"faq5a":59},"编辑","预览","我已经在 Obsidian \u002F VSCode \u002F Typora 写稿，怎么用这个工具？","把你的 .md 内容直接复制粘贴到左侧编辑器（或者点「导入文件」按钮导入 .md \u002F .zip \u002F 文件夹），右侧就是真实公众号样式的实时预览。点右上『复制到公众号』按钮就能粘贴进公众号后台编辑器，所有 Markdown 样式都会保留。","Markdown 里引用了本地图片，这些图片怎么处理？","工具会自动识别 Markdown 中的本地图片路径（如 `![封面](cover.png)`）并弹出上传提示。上传后图片以 Base64 格式存入浏览器 IndexedDB，刷新页面也不丢失，预览和复制到公众号时图片会随格式一起带出。如果你是整理好 md + 图片的文件夹，也可以直接点「导入文件夹」或导入包含 md 和图片的 .zip 压缩包，图片会自动匹配并存储，无需手动一张张上传。","和公众号自带编辑器、其他公众号排版工具相比，对 Markdown 创作者有什么不同？","公众号自带编辑器不支持 Markdown 语法，每次都要从零排版。其他排版工具大多需要登录或上传文章。我们的设计前提就是『你的 .md 文件是源稿』：保留你本地写作的工作流不变，只在最后一步把内容转成公众号能用的样式。图片也全程在本地处理，不上传任何服务器。","同一篇 Markdown 是否能既发公众号、又发小红书、又发 PDF？","可以，这是 \u002Fmarkdown 这个分类的设计目标。同一份 .md 在 \u002Fmarkdown\u002Fwechat 转成公众号格式，在 \u002Fmarkdown\u002Fxiaohongshu 切成图文卡片，在 \u002Fmarkdown\u002Fconvert 导成 PDF \u002F Word \u002F 图片。一稿多发，不用重复排版。","代码块、表格、Mermaid 图、数学公式都能正确渲染到公众号吗？","代码块带语法高亮，表格按公众号支持的样式呈现，引用块有专门设计的左边线样式。Mermaid 流程图和 KaTeX 数学公式默认用图片占位（公众号编辑器对自定义 SVG 不友好），原稿中如果有 Mermaid，建议先用 metool 的 Mermaid 工具导出 PNG 再插入到 Markdown。",{"tabEditor":61,"tabPreview":62,"faq1q":63,"faq1a":64,"faq2q":65,"faq2a":66,"faq3q":67,"faq3a":68,"faq4q":69,"faq4a":70,"faq5q":71,"faq5a":72},"Editor","Preview","I already write in Obsidian \u002F VSCode \u002F Typora. How do I use this tool?","Paste your .md into the left editor, or click \"Import File\" to load a .md, .zip, or folder. The right panel shows a true WeChat-style live preview. Hit \"Copy to WeChat\" at the top right and paste directly into the WeChat backend editor — every Markdown style is preserved.","My Markdown references local images. How are they handled?","The tool automatically detects local image paths in your Markdown (e.g. `![cover](cover.png)`) and prompts you to upload them. Once uploaded, images are stored in browser IndexedDB and persist across page reloads. If you already have a folder or ZIP archive with your .md and images together, just click \"Import Folder\" or import the .zip — images are auto-matched by filename and stored with no manual work needed. When you copy to WeChat, images are embedded as Base64 inline data.","What's different from WeChat's built-in editor or other typesetting tools?","WeChat's built-in editor doesn't speak Markdown — you'd be re-formatting from scratch every time. Other typesetting tools usually require sign-up or uploading your draft. We assume your .md file IS the source of truth: keep your local writing workflow exactly as it is, images included — everything stays on your device.","Can I publish the same Markdown to WeChat, Xiaohongshu and PDF?","Yes — that's the whole point of the \u002Fmarkdown\u002F section. Take the same .md to \u002Fmarkdown\u002Fwechat for WeChat, \u002Fmarkdown\u002Fxiaohongshu for image carousels, \u002Fmarkdown\u002Fconvert for PDF \u002F Word \u002F image \u002F HTML. One source, multiple channels, zero re-formatting.","Do code blocks, tables, Mermaid diagrams and math equations render correctly in WeChat?","Code blocks ship with syntax highlighting, tables follow WeChat's supported styles, blockquotes use a custom left-border style. Mermaid and KaTeX render as image placeholders by default (WeChat's editor is unfriendly to custom SVG). For Mermaid diagrams in your draft, export them to PNG via the metool Mermaid tool and embed the image in your Markdown.",{"zh":74,"en":91},[75,79,83,87],{"icon":76,"title":77,"desc":78},"lucide:image-plus","本地图片上传与持久化","自动识别 Markdown 中的本地图片路径，弹窗上传后存入 IndexedDB 持久化；支持拖入 ZIP 包或整个文件夹批量导入图片",{"icon":80,"title":81,"desc":82},"lucide:eye","真实公众号样式预览","右侧渲染采用与公众号编辑器同款样式约束，所见即所发",{"icon":84,"title":85,"desc":86},"lucide:code","代码块带语法高亮","80+ 语言识别，class 样式 inline 化为公众号能保留的 style",{"icon":88,"title":89,"desc":90},"lucide:shield","全程本地处理","文字与图片均不离开浏览器，localStorage + IndexedDB 自动保存",[92,95,98,101],{"icon":76,"title":93,"desc":94},"Local image upload & persist","Auto-detects local image paths, prompts upload, stores in IndexedDB across reloads. Import ZIP or folder for batch image import.",{"icon":80,"title":96,"desc":97},"True WeChat-style preview","The right pane uses the same styling constraints as the WeChat editor — what you see is what you publish",{"icon":84,"title":99,"desc":100},"Syntax-highlighted code blocks","80+ languages with inlined styles that survive the paste into WeChat",{"icon":88,"title":102,"desc":103},"Everything stays local","Text and images never leave your browser — localStorage + IndexedDB auto-save, no accounts needed.",{"zh":105,"en":118},[106,110,114],{"icon":107,"title":108,"desc":109},"lucide:clipboard-paste","粘贴 Markdown","将文章内容粘贴到编辑区，实时预览公众号排版样式",{"icon":111,"title":112,"desc":113},"lucide:palette","选择主题风格","选择合适的配色和排版主题，个性化定制文章外观",{"icon":115,"title":116,"desc":117},"lucide:copy","复制并发布","一键复制转换后的内容，粘贴到公众号编辑器直接发布",[119,122,125],{"icon":107,"title":120,"desc":121},"Paste Markdown","Paste your article and see it rendered in WeChat style in real time",{"icon":111,"title":123,"desc":124},"Choose a Theme","Pick a color scheme and typography style to personalize the look",{"icon":115,"title":126,"desc":127},"Copy & Publish","Copy the converted content and paste directly into the WeChat editor",{"zh":129,"en":146},[130,134,138,142],{"icon":131,"title":132,"desc":133},"lucide:newspaper","转换公众号排版样式","将 Markdown 文章转为微信公众号兼容样式，直接粘贴发布",{"icon":135,"title":136,"desc":137},"lucide:pen","技术作者快速发文","开发者用 Markdown 写稿，一键转换后在公众号后台粘贴发布",{"icon":139,"title":140,"desc":141},"lucide:layout-template","应用专业排版风格","自动适配微信富文本格式，标题\u002F代码块\u002F引用一键美化",{"icon":143,"title":144,"desc":145},"lucide:clock","缩短内容发布流程","省去手动调整字体、颜色、间距的步骤，专注内容本身",[147,150,153,156],{"icon":131,"title":148,"desc":149},"Format WeChat Articles","Convert Markdown to WeChat-compatible rich text — paste and publish",{"icon":135,"title":151,"desc":152},"Quick Publishing for Writers","Write in Markdown, convert in one click, paste into WeChat editor",{"icon":139,"title":154,"desc":155},"Apply Pro Typography","Auto-style headings, code blocks, and quotes for WeChat's rich text format",{"icon":143,"title":157,"desc":158},"Cut Publishing Time","Skip manual font, color, and spacing tweaks — focus on your content",{"zh":160,"en":161},"\u003Ch2>2026 年，Markdown 创作者怎么把稿子最快推到公众号？\u003C\u002Fh2>\n\u003Cp>如果你是把 .md 文件作为唯一源稿的内容创作者 — 在 Obsidian 写知识库、在 VSCode 写技术文章、在 Typora 写读书心得 — 那么&quot;\u003Cstrong>把这篇 .md 发到公众号\u003C\u002Fstrong>&quot;是一个非常具体的最后一公里问题。公众号自带编辑器不支持 Markdown 语法，从 .md 直接复制粘贴到公众号会丢失 80% 的样式：标题层级变扁平、代码块没了高亮、引用块退化成普通段落、表格只剩一行行的 tab。\u003C\u002Fp>\n\u003Cp>市面上多数公众号排版工具的设计前提是&quot;用户没有 .md 源稿、就在我这里写&quot;，所以它们要登录、要保存到云端、要把你的稿子变成它平台上的一篇文章。\u003Cstrong>但 Markdown 创作者的工作流不是这样的\u003C\u002Fstrong>：源稿在本地、用 Git 管理、可能同时要发到博客 \u002F 知乎 \u002F 公众号 \u002F 朋友圈。需要的不是另一个写作平台，而是一个&quot;\u003Cstrong>样式适配器\u003C\u002Fstrong>&quot;。\u003C\u002Fp>\n\u003Cp>MeTool 的 Markdown → 公众号工具就是按照这个定位做的：你的 .md 直接粘进来，右侧就是真实公众号样式的实时预览，复制后粘贴到公众号编辑器，所有 Markdown 语法都正确转成公众号能识别的 HTML。整个工具不要求登录，不存草稿到服务器，不绑定任何账号 — 它只在你的工作流最后一步做一件事：把 Markdown 翻译成公众号的&quot;方言&quot;。\u003C\u002Fp>\n\u003Ch2>为什么 Markdown 创作者发公众号常踩坑？\u003C\u002Fh2>\n\u003Ch3>① 复制粘贴格式丢失\u003C\u002Fh3>\n\u003Cp>从 VSCode \u002F Typora 复制 Markdown 文本粘到公众号编辑器，得到的是纯文本。从渲染后的 HTML 复制再粘贴，公众号会保留部分样式但代码块、表格、图片标题大概率坏掉。\u003C\u002Fp>\n\u003Ch3>② 公众号有自己的私有样式系统\u003C\u002Fh3>\n\u003Cp>公众号底层是 HTML，但它对自定义 CSS 类、内联样式、自定义标签都有严格限制：很多 SVG \u002F Mermaid \u002F KaTeX 输出的图都会被剥离。&quot;看起来在浏览器里漂亮的 HTML&quot;和&quot;公众号能正确显示的 HTML&quot;是两回事。\u003C\u002Fp>\n\u003Ch3>③ 代码块特别容易坏\u003C\u002Fh3>\n\u003Cp>公众号编辑器对 \u003Ccode>&lt;pre&gt;&lt;code&gt;\u003C\u002Fcode> 的处理非常微妙 — 不带语言标记的代码块会渲染成单行；带 highlight.js class 的代码块需要先把样式 inline 进去；超过一定长度可能被截断。专门处理这个细节的工具能省你 80% 的善后时间。\u003C\u002Fp>\n\u003Ch3>④ 多平台同步是常态而不是例外\u003C\u002Fh3>\n\u003Cp>2026 年的内容创作者很少只发一个平台 — 同一篇技术文章往往同时发公众号、知乎、博客、Twitter \u002F X。如果每发一次就要重新排版，效率低到无法持续。一份 .md 源 → 多个发行版本，是\u003Cstrong>必备工作流\u003C\u002Fstrong>。\u003C\u002Fp>\n\u003Ch2>MeTool 怎么解决这些问题？\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>本地图片上传与持久化：\u003C\u002Fstrong>工具会自动扫描 Markdown 中的本地图片路径（如 \u003Ccode>![封面](cover.png)\u003C\u002Fcode>），弹出上传提示。上传后图片以 Base64 存入浏览器 IndexedDB，刷新页面或下次打开依然保留。如果你有整理好的 md + 图片文件夹，也可以直接「导入文件夹」或导入 .zip 压缩包 — 图片自动按文件名匹配存储，无需手动一张张上传。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>真实公众号样式预览：\u003C\u002Fstrong>右侧渲染采用了和公众号编辑器同款的样式约束 — 你看到的就是发出去的样子，不会出现&quot;浏览器里漂亮、公众号里崩&quot;的情况。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>代码块带语法高亮：\u003C\u002Fstrong>支持 80+ 种编程语言，class 样式被 inline 化为公众号能保留的 \u003Ccode>style\u003C\u002Fcode> 属性，复制粘贴后高亮不丢。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>引用块、表格、图片标题：\u003C\u002Fstrong>公众号支持的元素全部正确映射，公众号不支持的元素降级为优雅的纯文本而不是错乱样式。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>本地 localStorage + IndexedDB 自动保存：\u003C\u002Fstrong>草稿与图片都留在浏览器里，不上传任何服务器，关闭页面再打开能继续编辑。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Markdown 创作者的一稿多发管线\u003C\u002Fh2>\n\u003Cp>把这个工具放进你的工作流：\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>源稿在本地：\u003C\u002Fstrong>继续在 Obsidian \u002F VSCode \u002F Typora 写 .md，配图存在同一文件夹，用 Git 管理版本。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>发布到公众号：\u003C\u002Fstrong>把 .md 和图片文件夹（或 zip）导入到 \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">本工具\u003C\u002Fa>，图片自动匹配后右上角&quot;复制到公众号&quot;一键完成，图片随样式一起粘贴进公众号。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>同步到小红书：\u003C\u002Fstrong>同一份 .md 切到 \u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">Markdown → 小红书图文卡片\u003C\u002Fa>，按二级标题自动切成多张图。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>给客户的 PDF \u002F Word：\u003C\u002Fstrong>切到 \u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">Markdown → PDF \u002F Word\u003C\u002Fa> 一键导出，图片也会内嵌进导出文件。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>建站 \u002F 自建博客：\u003C\u002Fstrong>同一份 .md 直接 push 到 Hexo \u002F Hugo \u002F VuePress 仓库。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>同一份内容覆盖 5 个发行渠道，整个流程不动源稿、不依赖任何云服务、不需要任何订阅。这是 Markdown 创作者在 2026 年最高 ROI 的工作流。\u003C\u002Fp>\n","\u003Ch2>2026: how do Markdown writers ship a draft to WeChat the fastest way?\u003C\u002Fh2>\n\u003Cp>If you keep your .md files as the single source of truth — writing your knowledge base in Obsidian, your tech articles in VSCode, your reading notes in Typora — then &quot;\u003Cstrong>publish this .md to WeChat\u003C\u002Fstrong>&quot; is a very specific last-mile problem. WeChat's built-in editor doesn't speak Markdown. Copy-pasting from .md directly into WeChat loses about 80% of the formatting: heading hierarchies flatten, code blocks lose syntax highlighting, blockquotes degrade to plain paragraphs, and tables collapse to tab-separated rows.\u003C\u002Fp>\n\u003Cp>Most WeChat typesetting tools assume &quot;the user has no .md source — they'll write here on our platform&quot;. So they want you to sign up, save drafts to their cloud, turn your draft into &quot;an article on their service&quot;. \u003Cstrong>That's not how Markdown writers work.\u003C\u002Fstrong> The source lives locally, is managed in Git, and may need to be published to a blog, Zhihu, WeChat, even Twitter — at the same time. What's needed isn't yet another writing platform, it's a &quot;\u003Cstrong>style adapter\u003C\u002Fstrong>&quot;.\u003C\u002Fp>\n\u003Cp>MeTool's Markdown → WeChat tool is built around exactly that positioning: paste your .md straight in, the right pane shows a true WeChat-article live preview, copy and paste into the WeChat backend editor, and every Markdown construct is correctly converted to WeChat-compatible HTML. No sign-up, no server-side draft storage, no account binding. It only does one thing at the very end of your workflow: translate Markdown into WeChat's &quot;dialect&quot;.\u003C\u002Fp>\n\u003Ch2>Why do Markdown writers stumble when publishing to WeChat?\u003C\u002Fh2>\n\u003Ch3>① Copy-paste loses formatting\u003C\u002Fh3>\n\u003Cp>Copying Markdown text from VSCode \u002F Typora into the WeChat editor gives you plain text. Copying the rendered HTML keeps some styling, but code blocks, tables and image captions usually break.\u003C\u002Fp>\n\u003Ch3>② WeChat enforces its own private styling system\u003C\u002Fh3>\n\u003Cp>Underneath, WeChat is HTML — but it imposes strict limits on custom CSS classes, inline styles, and custom tags: SVG, Mermaid, KaTeX outputs typically get stripped. &quot;HTML that looks pretty in the browser&quot; and &quot;HTML that renders correctly in WeChat&quot; are two different things.\u003C\u002Fp>\n\u003Ch3>③ Code blocks break particularly easily\u003C\u002Fh3>\n\u003Cp>WeChat's editor handles \u003Ccode>&lt;pre&gt;&lt;code&gt;\u003C\u002Fcode> in subtle ways — code blocks without language hints render as a single line; highlight.js classes need to be inlined as styles WeChat preserves; long blocks may be truncated. A tool that handles these details saves about 80% of post-publish cleanup time.\u003C\u002Fp>\n\u003Ch3>④ Multi-platform publishing is the norm, not the exception\u003C\u002Fh3>\n\u003Cp>2026 content creators rarely publish to a single platform — the same tech article often goes to WeChat, Zhihu, a personal blog, and Twitter \u002F X simultaneously. Re-formatting for each platform every single time isn't sustainable. One .md source → multiple distribution variants is a \u003Cstrong>required workflow\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2>How does MeTool address these issues?\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Local image upload &amp; persistent storage:\u003C\u002Fstrong> the tool auto-scans for local image paths in your Markdown (e.g. \u003Ccode>![cover](cover.png)\u003C\u002Fcode>) and prompts you to upload them. Uploaded images are stored as Base64 in browser IndexedDB and survive page reloads. Already have a folder or .zip with your .md and images together? Just &quot;Import Folder&quot; or import the .zip — images are matched by filename automatically, zero manual work.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>True WeChat-style preview:\u003C\u002Fstrong> the right pane uses the same styling constraints as the WeChat editor — what you see is what you publish, no more &quot;pretty in browser, broken in WeChat&quot; surprises.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Code blocks with syntax highlighting:\u003C\u002Fstrong> 80+ programming languages supported, with class-based styles inlined as \u003Ccode>style\u003C\u002Fcode> attributes WeChat preserves. Highlighting survives the copy-paste.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Blockquotes, tables, image captions:\u003C\u002Fstrong> every WeChat-supported element is mapped correctly. Elements WeChat doesn't support degrade gracefully to clean plain text instead of broken styling.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>localStorage + IndexedDB auto-save:\u003C\u002Fstrong> text drafts and images stay in your browser, never uploaded. Close the page, reopen, keep going.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>A Markdown writer's one-source-many-channels pipeline\u003C\u002Fh2>\n\u003Cp>Slot this tool into your workflow:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Source stays local:\u003C\u002Fstrong> keep writing .md in Obsidian \u002F VSCode \u002F Typora, images in the same folder, version-managed by Git.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Publish to WeChat:\u003C\u002Fstrong> import the .md + image folder (or .zip) into \u003Ca href=\"\u002Fmarkdown\u002Fwechat\u002F\">this tool\u003C\u002Fa>, images are matched automatically, then hit &quot;Copy to WeChat&quot; — images paste right into WeChat with the rest of the formatting.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sync to Xiaohongshu:\u003C\u002Fstrong> the same .md goes to \u003Ca href=\"\u002Fmarkdown\u002Fxiaohongshu\u002F\">Markdown → Xiaohongshu Cards\u003C\u002Fa> for an auto-sliced image carousel.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PDF \u002F Word for clients:\u003C\u002Fstrong> jump to \u003Ca href=\"\u002Fmarkdown\u002Fconvert\u002F\">Markdown → PDF \u002F Word\u003C\u002Fa> and export — images are embedded in the output file too.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Personal site \u002F self-hosted blog:\u003C\u002Fstrong> push the same .md to your Hexo \u002F Hugo \u002F VuePress repo.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>One source covers 5 channels. The whole flow doesn't touch your source draft, doesn't depend on any cloud service, doesn't need any subscription. This is the highest-ROI workflow available to Markdown writers in 2026.\u003C\u002Fp>\n",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":163},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 18h-5m8-4h-8m-6 8h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2\"\u002F>\u003Crect width=\"8\" height=\"4\" x=\"10\" y=\"6\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":165},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":167},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"7\" x=\"3\" y=\"3\" rx=\"1\"\u002F>\u003Crect width=\"9\" height=\"7\" x=\"3\" y=\"14\" rx=\"1\"\u002F>\u003Crect width=\"5\" height=\"7\" x=\"16\" y=\"14\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":169},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 6v6l4 2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":171},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":173},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":175},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16 18l6-6l-6-6M8 6l-6 6l6 6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":177},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":179},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":181},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 22a1 1 0 0 1 0-20a10 9 0 0 1 10 9a5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"\u002F>\u003Ccircle cx=\"13.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"17.5\" cy=\"10.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"6.5\" cy=\"12.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"8.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":183},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":185},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":187},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":189},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":191},"\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":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":193,"hidden":194},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":196},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",1782799334789]