sync-db-os

approved

by ketd

For synchronization between multiple platforms

6 stars216 downloadsUpdated 1y agoMIT
View on GitHub

obsidian-sync-DB-OS

根据自己的一些需求,写了几个常用的同步功能:

  • 在 Obsidian 中粘贴图片时,插件会自动将图片上传到指定的对象存储,并更新图片链接
  • 支持将以插入的本地图片链接转换为图床地址 效果大致为: ![[xxx.png]] --> ![[xxx.png]](https://xxxx.xxx.os/xxx.png)
  • 手动对比冲突选择正确版本
  • 上传 PDF 等大文件到对象存储

原则上数据库中只保存文本文件,便于灵活修改;大文件在数据库中只存储 hash 值,通过对比 hash 来确定同名文件是否发生变动。

功能特性

  • 本地图片自动上传图床:在编辑笔记时,自动将本地图片上传到图床,并更新图片链接。
  • 冲突解决:当笔记在多个设备上编辑时,支持手动对比冲突,选择正确的版本。
  • 大文件上传:支持将 PDF 等大文件上传到对象存储,避免占用数据库空间。

数据库支持

MongoDBCouchDB
PC 端同步
支持移动端×

对象存储支持

腾讯云阿里云
是否脱离数据库××
保存多种数据格式×
支持本地图片
自动部署到图床


×

使用的库

  • cos-js-sdk-v5
  • crypto-js
  • diff
  • mongodb
  • pouchdb
  • sweetalert2

如何安装

  1. 克隆此仓库到本地。
    git clone https://github.com/ketd/obsidian-sync-DB-OS.git
    
  2. 进入项目目录。
    cd obsidian-sync-DB-OS
    
  3. 安装依赖。
    npm install
    
  4. 根据需要配置 settings
  5. 运行插件。

使用方法

  1. 本地图片上传

    • 在 Obsidian 中粘贴图片时,插件会自动将图片上传到指定的对象存储,并更新图片链接。
  2. 冲突解决

    • 当检测到笔记在多个设备上有冲突时,会弹出对比窗口,用户可以手动选择正确的版本。
  3. 大文件上传

    • 支持将大文件(如 PDF)上传到对象存储,并在数据库中保存文件的 hash 值,通过 hash 值来检测文件变动。

配置

数据库

image

对象存储

image

贡献

欢迎提交 issue 或 pull request 来帮助我们改进这个项目。

许可

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.