导出的HTML本地双击打开样式错乱,是因为默认依赖GitHub CDN资源且未内联;需同时配置本地解析器、内联CSS/JS的自定义模板、图片路径转相对或base64,三者缺一不可。

能导出,但“本地高精度渲染”不是插件默认行为——它依赖你手动配对解析器、模板和路径规则,否则浏览器打开的是简陋 HTML,图片错位、样式丢失、代码块不亮。
为什么导出的 HTML 在本地双击打开会样式错乱?
Markdown Preview 默认生成的 HTML 依赖网络加载 CSS 和 JS(比如 GitHub 的 CDN),离线双击 file:// 协议打开时,这些资源 404,页面只剩裸文本。这不是 bug,是设计使然。
- 检查导出的 HTML 源码,大概率能看到类似
<link rel="stylesheet" href="https://github.githubassets.com/assets/github-*.css">这样的远程引用 - 插件默认不内联样式,也不把资源打包进 HTML 文件
- 即使你改了
html_template,若模板里仍写死 CDN 地址,问题照旧
导出真正离线可用的 HTML:必须改三个地方
要让导出的 HTML 双击即用、样式完整、代码高亮正常,得同时动以下三处:
-
Preferences → Package Settings → Markdown Preview → Settings - User中启用本地资源:{ "parser": "markdown", "markdown_extensions": ["markdown.extensions.fenced_code", "markdown.extensions.codehilite"], "pygments_style": "github", "html_template": "/Users/you/templates/offline.html" } - 自定义模板
offline.html必须内联 CSS 和 JS:把github.css、highlight.js内容复制粘贴进<style>和<script>标签,删掉所有src外链 - 图片路径必须转为相对或 base64:
"image_path_conversion": "relative"或"image_path_conversion": "base64",否则本地打开时图片 404
markdown_preview 命令的 target 和 parser 参数决定输出质量
导出动作本质是调用同一个命令,靠 args 控制行为。只用快捷键或菜单容易忽略关键参数:
-
target: "disk"是导出到磁盘的开关,不设这个,markdown_preview默认只预览不写文件 -
parser: "github"渲染效果最接近 GitHub,但需联网调用 API;离线场景必须用parser: "markdown"+ 手动配扩展 - 导出命令示例(加到用户快捷键):
{"keys": ["ctrl+alt+e"], "command": "markdown_preview", "args": {"target": "disk", "parser": "markdown"}}
Pygments 高亮失效?检查 Python 环境和扩展名
代码块没颜色,大概率不是插件问题,而是 Pygments 没生效或语言识别失败:
- 确认 Sublime Text 能调用系统 Python:插件底层用
python -c "import pygments"检查,失败则需安装pip install pygments - 代码块必须写对语言标识:
```python有效,```py或```Python(首字母大写)可能不识别 -
pygments_style值必须是 Pygments 支持的样式名,如"emacs"、"vs",错写成"dark"会静默失败
真正离线可用的 HTML 导出,核心不在“点一下导出”,而在模板是否内联、路径是否转义、解析器是否离线可用——这三个点漏一个,双击打开就是白板或缺图。别信“装完就能用”,这插件的导出功能默认是为部署服务的,不是为本地文件准备的。


















