把Obsidian发布为网页的各种方式探索

Obsidian发布方式汇总

方式汇总 优点 缺点
官方publish 官方支持,稳定 要花钱,数据非私有
digital garden 更新稳定,支持功能多 静态页面,无法即时渲染
Quartz框架 开发文档全面,可以自行 静态页面,无法即时渲染
perlite 实时渲染,无需等待 不支持dataview excalidraw等插件功能,需要服务器

对于不想折腾的用户来说,只有一种方案:花钱买官方的publish。本文不再讨论这种方法。

其实目前主流的Obsidian发布方案就是两种:

因此如果发布前能保证已经完成了最终稿,那么静态发布是很好的选择。但是如果发布后还需要频繁修改,最好采用可即时编辑的工具。

静态页面类

如果你想要找一个能免费且私有数据的发布obsidian笔记的方案,这可能是最好也是唯一的选择。

可以简单的把静态页面的发布方式理解为即食食品,只需要拿到这个“静态页面”就可以开袋即食,与之相对的,非静态页面的方法,需要服务器进行渲染操作,因此一般是很难找到支持非静态页面的、大公司提供的、免费的方案。

其实静态页面发布博客的方法浩如星海,较为出名如Jekyll、Hugo、Hexo、Vuepress、Docsdify都是很成熟且有较多主题可以选择的,不过考虑到我们要发布obsidian笔记,当然需要支持obsidian的wiki链接功能,因此之后不再考虑这些没有针对obsidian优化的框架。

Digital Garden插件

项目地址:此插件已上架官方市场。

优点:

缺点:

Quartz框架

项目地址:jackyzha0/quartz: 🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites

优点:

缺点:

Obcsapi+对象存储

项目地址:kkbt0/obcsapi-go: 基于 WebDAV,S3 存储或 CouchDb 的后端 API ,Obsidian 笔记的 API

此方案来自和和恐咖兵糖的聊天

obcsapi在对象存储模式下可以把渲染好的页面放在对象存储中,obsidian 额外生成一个索引并同步

实时渲染类

Perlite

项目地址:secure-77/Perlite: A web-based markdown viewer optimized for Obsidian

优势:

缺点:

Obcsapi-publish功能

obcsapi自带一个简易的publish页面,可以把指定目录的下笔记暴露在公开网络上。不过这个功能我并没有成功启动,暂时先记在这里。

据说能配合lua脚本。

采用第三方服务

如果能接受把上述两种方案的幕后工作交与第三方进行,我们也可以使用一些方案,但是请注意,你使用其他人提供的免费服务,可能面临对方突然停止服务或数据丢失(如果发布后本地不再留档)的风险,因此我只建议将这些方式作为临时发布方案。

已上架官方市场的插件:

如果你想探索那些没有上架官方市场的插件,可以在github搜索obsidian,然后去topics里面查看,印象中前5页就有好几个发布用的项目。