辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

技术折腾 xLog 3 实现一个 obsidian 插件

技术折腾 xLog 3 实现一个 obsidian 插件

内部链接

  • [[技术折腾 xLog 1 可行性探索]]
  • [[技术折腾 xLog 2 深入理解 xlog 的鉴权]]
  • [[技术折腾 xLog 3 实现一个 obsidian 插件]]
  • [[技术折腾 xLog 4 用 unStorage 封装 xLogDriver]]
  • [[速通 - xLog 背后的 CrossBell SDK]]
  • [[从官方 XLOG Obsidian 插件中能学到什么]]
  • [[开发 Obsidian Sync To Xlog 插件之 处理 obsidian 的图片]]
  • [[速通 - CrossBell 的开源作品]]
  • [[速通 Obsidian Docs - 侧重插件开发]]

本文是系列文章的第三章,承接 [[技术折腾 xLog 2 深入理解 xlog 的鉴权]],本文在前两章节的基础上开始尝试制作一个 obsidian 插件。

预计本文会是一个长期更新的项目,你可以持续关注本文,获取更新的动态。另外本文在 xlog 平台至少价值 5 个币的赞赏,嘻嘻,欢迎赞赏。

本文经验可以迁移复用,比如你是其他笔记的用户,可以参考实现。当然有赏金的话,我不介意接单~

背景#

作为一个 obsidian 的忠实用户,我日常的所思所想会记录在 obsidian 上,这就意味着,我需要先在 obsidian 上编写文章,然后复制内容到 xlog 上,图片部分需要额外注意。

如果后续我们编辑了 obsidian 的内容,也需要注意同步保持一致,如果有一个插件,我只需要在笔记上选择上传,就同步到 xlog 上就好了。

那,我们就实现一个吧。

设计思路#

整体的设计思路分几步:

  • 技术预研,跑通接口
  • 设计 obsidian 插件
  • 实现 obsidian 插件
  • 打包分发 obsidian 插件
  • 宣传试用 obsidian 插件

技术预研#

在上一节,我们实现了文章的创建和更新,利用 siwe token 可以轻松实现文章管理。其他操作暂不实现。

这一部分我们默认已经掌握,如果不理解,可以阅读上一章节内容。

插件设计#

这里需要前置 obsidian 的开发经验,这里先略过细节,我维护了一个简单的 obsidian-vue-starter 模板,对 vue 用户比较友好。Github Repo

我们在模板的基础上进行开发。

我们希望插件这样使用。

用户应该开启插件设置,并且正确添加了 token/charactorID,有一个按钮进行连接测试。

在对应笔记的列表上单击右键出现 “上传到 xlog",点击触发上传操作。

上传校验时候,检查 front-matter 要求添加:

  • 可选的 tags
  • 可选的 slug
  • 可选的 summary
  • 必填的 title
  • 可选的 noteId,如果存在视为更新

暂时忽略 charactorID 这个应该是少数需求

如果当前内容包含 video/audio/image ,限制文件大小,提示是否上传到 xlog 替换为 ipfs 链接。

文件上传完成,回填修改 noteID 参数,后续走更新的操作。

实现插件#

目前我会在 github 上进行这个公开的开源项目:
https://github.com/Otto-J/sync-to-xlog

目前功能趋近完善了,近期的几篇文章都是通过插件完成的。

访问 https://github.com/Otto-J/sync-to-xlog/releases 可以获得最新版本。

打包分发#

投稿了官方插件市场,待审批上架。

更新:已上架官方插件市场

宣传试用#

争取获得官方的认可。

给官方说了一声。

在 B 站录了一个简单的视频介绍:
《介绍我开发的 Obsidian-sync-xlog 插件:轻松帮你同步 obsidian 内容到 xlog 上》

未来几天开始认真宣传。

更新:得到了官方的认可和转发,还进一步聊了聊。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。