sync-db-os
approvedby ketd
For synchronization between multiple platforms
★ 6 stars↓ 216 downloadsUpdated 1y agoMIT
obsidian-sync-DB-OS
根据自己的一些需求,写了几个常用的同步功能:
- 在 Obsidian 中粘贴图片时,插件会自动将图片上传到指定的对象存储,并更新图片链接
- 支持将以插入的本地图片链接转换为图床地址
效果大致为:
![[xxx.png]] --> ![[xxx.png]](https://xxxx.xxx.os/xxx.png) - 手动对比冲突选择正确版本
- 上传 PDF 等大文件到对象存储
原则上数据库中只保存文本文件,便于灵活修改;大文件在数据库中只存储 hash 值,通过对比 hash 来确定同名文件是否发生变动。
功能特性
- 本地图片自动上传图床:在编辑笔记时,自动将本地图片上传到图床,并更新图片链接。
- 冲突解决:当笔记在多个设备上编辑时,支持手动对比冲突,选择正确的版本。
- 大文件上传:支持将 PDF 等大文件上传到对象存储,避免占用数据库空间。
数据库支持
| MongoDB | CouchDB | |
|---|---|---|
| PC 端同步 | √ | √ |
| 支持移动端 | × | √ |
对象存储支持
| 腾讯云 | 阿里云 | |
|---|---|---|
| 是否脱离数据库 | × | × |
| 保存多种数据格式 | √ | × |
| 支持本地图片 自动部署到图床 | √ | × |
使用的库
cos-js-sdk-v5crypto-jsdiffmongodbpouchdbsweetalert2
如何安装
- 克隆此仓库到本地。
git clone https://github.com/ketd/obsidian-sync-DB-OS.git - 进入项目目录。
cd obsidian-sync-DB-OS - 安装依赖。
npm install - 根据需要配置
settings。 - 运行插件。
使用方法
-
本地图片上传:
- 在 Obsidian 中粘贴图片时,插件会自动将图片上传到指定的对象存储,并更新图片链接。
-
冲突解决:
- 当检测到笔记在多个设备上有冲突时,会弹出对比窗口,用户可以手动选择正确的版本。
-
大文件上传:
- 支持将大文件(如 PDF)上传到对象存储,并在数据库中保存文件的 hash 值,通过 hash 值来检测文件变动。
配置
数据库
对象存储
贡献
欢迎提交 issue 或 pull request 来帮助我们改进这个项目。
许可
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.