这是一个用于 Obsidian 的插件,可以将当前渲染视图导出为完整的HTML文件,保留所有样式和格式,支持内嵌图片为base64格式,实现完全独立的阅读体验。
- 完美复制渲染效果:导出的HTML文件与Obsidian中显示的内容完全一致
- 内嵌图片:自动将所有图片转换为base64格式内嵌到HTML中,无需额外文件
- 支持处理路径中含有空格的图片
- 智能匹配Vault中的图片,即使路径不完全匹配
- 缓存已处理图片,提高处理效率
- 优化处理特殊路径图片,支持更多复杂情况
- 提升大型文档处理速度,高效处理多图文档
- 支持Mermaid图表:导出的HTML可以正确渲染Mermaid流程图、时序图等
- 自动识别并处理Mermaid代码块
- 包含必要的Mermaid.js库
- 自动适应暗色/亮色主题
- 保留所有样式:导出包含所有必要的CSS样式,完美复制Obsidian的渲染效果
- 双链处理:保留双链引用的文档信息,包括文件名和引用片段(如标题或段落)
- 利用Obsidian的metadataCache.getFirstLinkpathDest方法解析链接
- 保留链接的标题/块引用信息
- 为内链添加特殊样式
- 支持暗/亮模式:保留Obsidian的暗色/亮色主题设置
- 两种导出方式:直接下载或保存到库中
- 优化处理空格和特殊字符:正确处理路径中包含的空格和特殊字符
- 提供处理进度提示:处理大型文档时显示进度提示
本插件提供两个命令:
-
直接下载当前渲染内容
- 将HTML文件直接下载到您的下载文件夹
- 使用浏览器的下载功能,便于立即分享
- 包含所有图片的base64编码,无需额外文件
-
保存当前渲染内容(简洁版)
- 将HTML文件保存到Obsidian库中
- 优化文件大小,只保留必要的样式
- 同样包含所有图片的base64编码
使用步骤:
- 在Obsidian中打开需要导出的文档
- 按下
Ctrl+P或Cmd+P打开命令面板 - 输入"下载"或"保存"找到相应命令
- 选择您喜欢的导出方式
- 等待处理完成(对于含有多张图片的文档可能需要几秒钟)
- 分享笔记:将笔记分享给没有Obsidian的朋友,他们仍能看到完整的格式和图片
- 离线阅读:创建可以在任何浏览器中离线阅读的文档
- 归档文档:将重要文档导出为独立的HTML文件进行备份
- 发布到网站:将Obsidian笔记导出后发布到博客或网站
- 演示文稿:将Obsidian文档转换为可以在演示中使用的HTML页面
- 复杂图表展示:通过支持Mermaid图表,可以完整导出包含流程图、时序图等的文档
本插件使用了多种技术来确保准确导出渲染内容:
- 图片处理:使用多层次策略查找和匹配图片文件,处理不同格式的路径
- 双链解析:利用Obsidian的API解析双链引用,保留引用信息
- 路径规范化:处理路径中的空格、查询参数和特殊字符
- 样式过滤:智能筛选与内容相关的CSS样式规则,减小文件体积
- Mermaid支持:自动处理并转换Mermaid代码块,加载必要的库以确保图表正确渲染
- 打开Obsidian设置
- 进入"第三方插件"
- 禁用"安全模式"
- 点击"浏览"
- 搜索"HTML Renderer Exporter"
- 点击安装
- 启用插件
- 从releases页面下载最新版本
- 解压到您的Obsidian库的插件文件夹:
<vault>/.obsidian/plugins/ - 重新启动Obsidian
- 在设置中启用插件
- 克隆此仓库
- 运行
npm i安装依赖 - 运行
npm run dev开始开发
- 添加Mermaid图表支持
- 自动识别并处理Mermaid代码块
- 优化导出HTML结构
- 优化图片处理机制
- 提高大型文档处理性能
- 修复特殊路径处理问题
- 修复双链处理机制
- 优化样式收集算法
- 改进错误处理
- 初始版本发布
- 实现基本导出功能
- 支持图片内嵌和样式保留
- 图片无法加载? 确保图片路径正确,且文件存在于您的Obsidian库中
- 样式不完整? 某些主题可能需要额外的样式,可以考虑手动添加
- 处理时间过长? 含有大量图片的文档需要更多处理时间,请耐心等待
- Mermaid图表不显示? 导出的HTML需要联网加载Mermaid.js库,请确保能够访问互联网
本项目采用 MIT许可证。
由 SockingPanda 开发。
如果您发现任何问题或有改进建议,请在GitHub上提交issue。