內部連結
- [[技術折騰 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 上》
未來幾天開始認真宣傳。
更新:得到了官方的認可和轉發,還進一步聊了聊。