辛宝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 上》

未來幾天開始認真宣傳。

更新:得到了官方的認可和轉發,還進一步聊了聊。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。