Skip to content

SockingPanda/obsidian-html-exporter

Repository files navigation

Obsidian HTML渲染导出器

这是一个用于 Obsidian 的插件,可以将当前渲染视图导出为完整的HTML文件,保留所有样式和格式,支持内嵌图片为base64格式,实现完全独立的阅读体验。

功能特点

  • 完美复制渲染效果:导出的HTML文件与Obsidian中显示的内容完全一致
  • 内嵌图片:自动将所有图片转换为base64格式内嵌到HTML中,无需额外文件
    • 支持处理路径中含有空格的图片
    • 智能匹配Vault中的图片,即使路径不完全匹配
    • 缓存已处理图片,提高处理效率
    • 优化处理特殊路径图片,支持更多复杂情况
    • 提升大型文档处理速度,高效处理多图文档
  • 支持Mermaid图表:导出的HTML可以正确渲染Mermaid流程图、时序图等
    • 自动识别并处理Mermaid代码块
    • 包含必要的Mermaid.js库
    • 自动适应暗色/亮色主题
  • 保留所有样式:导出包含所有必要的CSS样式,完美复制Obsidian的渲染效果
  • 双链处理:保留双链引用的文档信息,包括文件名和引用片段(如标题或段落)
    • 利用Obsidian的metadataCache.getFirstLinkpathDest方法解析链接
    • 保留链接的标题/块引用信息
    • 为内链添加特殊样式
  • 支持暗/亮模式:保留Obsidian的暗色/亮色主题设置
  • 两种导出方式:直接下载或保存到库中
  • 优化处理空格和特殊字符:正确处理路径中包含的空格和特殊字符
  • 提供处理进度提示:处理大型文档时显示进度提示

使用方法

本插件提供两个命令:

  1. 直接下载当前渲染内容

    • 将HTML文件直接下载到您的下载文件夹
    • 使用浏览器的下载功能,便于立即分享
    • 包含所有图片的base64编码,无需额外文件
  2. 保存当前渲染内容(简洁版)

    • 将HTML文件保存到Obsidian库中
    • 优化文件大小,只保留必要的样式
    • 同样包含所有图片的base64编码

使用步骤:

  1. 在Obsidian中打开需要导出的文档
  2. 按下 Ctrl+PCmd+P 打开命令面板
  3. 输入"下载"或"保存"找到相应命令
  4. 选择您喜欢的导出方式
  5. 等待处理完成(对于含有多张图片的文档可能需要几秒钟)

适用场景

  • 分享笔记:将笔记分享给没有Obsidian的朋友,他们仍能看到完整的格式和图片
  • 离线阅读:创建可以在任何浏览器中离线阅读的文档
  • 归档文档:将重要文档导出为独立的HTML文件进行备份
  • 发布到网站:将Obsidian笔记导出后发布到博客或网站
  • 演示文稿:将Obsidian文档转换为可以在演示中使用的HTML页面
  • 复杂图表展示:通过支持Mermaid图表,可以完整导出包含流程图、时序图等的文档

技术细节

本插件使用了多种技术来确保准确导出渲染内容:

  • 图片处理:使用多层次策略查找和匹配图片文件,处理不同格式的路径
  • 双链解析:利用Obsidian的API解析双链引用,保留引用信息
  • 路径规范化:处理路径中的空格、查询参数和特殊字符
  • 样式过滤:智能筛选与内容相关的CSS样式规则,减小文件体积
  • Mermaid支持:自动处理并转换Mermaid代码块,加载必要的库以确保图表正确渲染

安装方法

从Obsidian中安装

  1. 打开Obsidian设置
  2. 进入"第三方插件"
  3. 禁用"安全模式"
  4. 点击"浏览"
  5. 搜索"HTML Renderer Exporter"
  6. 点击安装
  7. 启用插件

手动安装

  1. releases页面下载最新版本
  2. 解压到您的Obsidian库的插件文件夹:<vault>/.obsidian/plugins/
  3. 重新启动Obsidian
  4. 在设置中启用插件

开发

  • 克隆此仓库
  • 运行 npm i 安装依赖
  • 运行 npm run dev 开始开发

更新日志

1.0.3

  • 添加Mermaid图表支持
  • 自动识别并处理Mermaid代码块
  • 优化导出HTML结构

1.0.2

  • 优化图片处理机制
  • 提高大型文档处理性能
  • 修复特殊路径处理问题

1.0.1

  • 修复双链处理机制
  • 优化样式收集算法
  • 改进错误处理

1.0.0

  • 初始版本发布
  • 实现基本导出功能
  • 支持图片内嵌和样式保留

常见问题

  • 图片无法加载? 确保图片路径正确,且文件存在于您的Obsidian库中
  • 样式不完整? 某些主题可能需要额外的样式,可以考虑手动添加
  • 处理时间过长? 含有大量图片的文档需要更多处理时间,请耐心等待
  • Mermaid图表不显示? 导出的HTML需要联网加载Mermaid.js库,请确保能够访问互联网

许可证

本项目采用 MIT许可证

作者

SockingPanda 开发。

支持

如果您发现任何问题或有改进建议,请在GitHub上提交issue

About

用于将当前选中的 obsidian 界面保存为html~~

Resources

License

Stars

Watchers

Forks

Packages

No packages published