Obsidian笔记实现Windows与Android端同步


之前写作工具:Typora+Notion,后面将写作工具全部转移至obsidian。

想借助转移到obsidian的这一个事情,记录实现同一笔记修改后能够分发到各个平台设备、网盘、服务器的详细过程。

转移原因

主要原因

  1. 同步问题

Typora不支持全平台无缝写作。Typora写笔记,软件不支持多平台,本身typora不能同步,无法在多平台无缝写作。

  1. 笔记副本过多,繁琐且不便于同步修改

同一笔记多个副本。使用Typora写笔记既要复制到个人网站博客上传同步,又要导入到Notion,保证Notion笔记同步,同一笔记多次复制,只要有一个修改,其他地方的同一个笔记都得改,很麻烦。

  1. 兼容性转移性差

Notion导入导出不友好,不适合笔记转移。用Notion写笔记导出md文件至本地,往往需要调整,md笔记导入Notion一样需要调整,兼容性差。

  1. Notion笔记存储不在本地

打开notion笔记需要加载加载时间,笔记不存储在本地,笔记安全风险大。

总之,对于需要将一份笔记写完能在本地进行管理,能在各个设备间同步,又要实时上传至博客网站的我来说,相当于能够实现一次写作多次分发至各个设备以及服务器。经过一款筛选,最后选择了以markdown为原材料进行管理的一款笔记软件,obsidian。

下面记录我如何用obsidian笔记软件写作实现多端同步并且及时上传服务器的过程。

Obisidian优点

  1. 保留原素材进行管理

这个软件最大的优点在于,只是对markdown文件,markdown文件夹进行管理的一个写作笔记软件,并没有改变markdown文件。

2.笔记移动性强

笔记只对md笔记源文件进行管理,所以源文件可以独立的转移,不受软件、平台限制。

  1. 所见即所得

使用Typora的一个重要原因就是markdown语法支持即可渲染,所见即所得这一功能同样可以在obsidian中使用。

  1. 插件丰富

拥有丰富的社区插件和官方插件,功能扩展性非常强。其中,图片自动上传插件的插入可以完全做到替换Typora。

  1. 支持全平台同步

Obisidian是一个全平台同步的md文件管理器。

将上传至博客网站的博客路径文件夹博客作为Obisidian的仓库,然后同样将这个文件夹通过云盘设置为同步盘,即可通过obsidian进行写作,保证自己在Obsidian上写作能同时把笔记分发上传同步至服务器,网盘,同步以及自己的各个终端设备中。

Obsidian上写作能够实现博客、终端、客户端同步,就是完美解决方案。

多端同步

Obsidian在各个平台之间自行搭建同步方案,主要原理是通过同步网盘对所在的笔记文件夹进行同步,主要同步方案:
Windows端同步:OneDrive、坚果云等;
mac端、iPad端、iPhone端同步:iCloud;
Android端同步:[坚果云(webdev)、OneDrive]+[Dropsync、Foldersync];

实现安卓端与客户端之间的同步需要另外使用同步连接软件(Dropsync、Foldersync),保证文件能够存储到本地,上传时能够将本地修改文件上传至网盘。从而实现同步。

多端同步.帮助文档

我的同步方案

Foldersync+OneDrive同步Obsidian笔记

主要实现实现windows多端同步、windows端与android端同步。

windows与android端同步操作流程:

  • Windows端

Windows端将Obsidian的库定位到自己的博客文件夹_post
定位
obsidian基本操作,可以在软件中对笔记文件夹下markdown进行任意管理。

Obsidian会在_post文件夹下增设配置文件.obsidian文件夹,经过测试,不影响hexo博客对博客文章的渲染

OneDrive增加同步文件夹_post,如果选定的笔记文件夹不在Onedrive路径下,又不想移动到Onedrive路径下,无法同步。可以按照下文中【Onedrive同步任意文件夹】的操作流程,使用mkline命令实现Onedrive对任意文件夹进行同步。

  • Andriod端

在Android端在谷歌商店进行下载同步工具Foldersync,这里涉及科学上网。或者通过其他方式获取安装包。

安装完成后,打开软件要求的所有许可权限(permission)

打开软件
在Foderpairs中选择存放笔记的本地文件夹命名为Obsidian_blog(存放位置,网盘中的笔记文件下载同步到此文件夹)

Accounts中按提示添加OneDrive账号,获取密钥填入即可(或者使用坚果云webdev登录)。

选择添加文件(+Folderpair),选择Two-way:

远程仓库(Remote folder):Windows同步的笔记文件夹,也就是_post

本地文件夹(Local folder):Android同步的文件夹,也就是Obsidian_blog

路径填写

设置完成后,进入Onedrive Sync同步中选择Sync进行同步。

此过程因使用OneDrive进行同步文件,Android端同步时需要打开科学上网。

显示successful,绿色表示同步成功。
即可在Android端打开obsidian进行查看。

foldersync同步设置
笔记中除了md纯文本外,不建议同步其他配置性文件(.obsidian)。
应该关闭foldersync中同步隐藏文件选项(sunc hidden files);
为了保证文件删除同步,勾选同步删除选项(sync deletions)

同步选项

Android端同步注意事项

  1. 定期备份
    防止同步过程中更新文件可能出现问题,应该对文件定时备份。不管是不是用同步方案,都应该定期对文件进行备份。

  2. Android端使用前后都需要同步
    Foldersync并不能实时自动同步文件至本地文件夹,因此每次在Android端使用前同步一次,修改文件后手动同步至onedrive一次。

  3. 修改文件前确认文件同步及时
    桌面端Onedrive同步可能不及时,所有文件做出的变动,都应该在onedrive文件更新记录中能一一对应,才能使用foldersync进行同步。
    只有保证在修改前各平台文件更新已经同步完成,才能开始对文件进行改动。

如果发现Onedrive同步不及时,可以选择暂停同步再开启,刷新一下,即可解决同步不及时的问题。

在Android端修改文件前确认同步没有问题才能进行修改,修改完成后,切记同步文件至onedrive,才能下次在Windows端进行修改编辑,否则容易信息更新不及时。

总而言之,Windows端更新文件后,确认文件更新记录一一对应;Android端修改文件前同步文件,修改文件后同步文件。

Onedrive同步任意文件夹

一般OneDrive只能同步定义的Onedrive文件夹下的所有文件

如果笔记文件直接存放在OneDrive路径下则直接跳过此步骤。

另外OneDrive还能同步特定的三个文件夹,可在设置中管理备份中看到,即桌面、文档、图片

那么如何实现Onedrive同步任意文件夹?
使用mkline将文件夹关联到Onedrive同步网盘路径下。
实现原理:在OneDrive目录路径下,使用mkline命令,关联你需要同步的文件夹。保证你的选择文件夹与OneDrive下的文件实时同步。

操作流程
参考地址:https://jingyan.baidu.com/article/4665065836e951f549e5f822.html

  • 在OneDrive文件夹下记录文档路径,得到地址一:
    地址一
    C:\Users\Sumsung\OneDrive\文档

我的用户名为Sumsung

  • 在需要进行同步的文件夹下记录路径,得到地址二:
    地址二
    C:\Users\Sumsung\matery\source_posts

我要对_posts进行同步,路径如上

  • Windows+s搜索命令提示符,以管理员身份运行

命令提示符

  • 运行命令,命令格式为:
    mklink/d  地址一_post  地址二

管理员身份运行,否则会报错;
所有空格都是两个空格!

所以我的命令如下 :

mklink/d  C:\Users\Sumsung\OneDrive\文档_post  C:\Users\Sumsung\matery\source\_posts

如果出现以下命令报告,则表示执行成功:

运行成功

可以回到OneDrive下,有个文档_post文件夹已经完成了同步。
只要_post文件内文件发生变动(文件增添、修改、删除),在OneDrive下文档_post会同样发生变动,文件同步成功。

软件下载:
ObsidianFoldersync

缺点与不足

  1. OneDrive不支持手动同步

OneDrive同步不及时,看不到OneDrive中同步的更新信息时,需要手动暂停再打开同步功能来促使更新同步。这似乎是一个常见问题,也并不受影响,只要知道怎么操作,基本可以接受。

  1. OneDrive同步需科学上网

没有长期科学上网条件的用户不适合使用OneDrive进行同步更新。

  1. Android端无法连接图床

这也是一个常见问题,因为插件只能连接桌面端picgo,无法实现手机端图片自动上传至图床,从而生成图片链接。

我的备份方案

实现笔记能够一次写作修改,能够多端同步,服务器更新以后,应该对文件定期进行备份。

  • 备份至github

将笔记文件做备份管理,使用git上传到自己的github上,随时推送做备份。如果文件出现误删,可以通过GitHub文件历史版本找回

具体操作见:

[[Git学习笔记#添加远程仓库]]

命令脚本快速备份笔记及上传博客

每次做完笔记都需要上传个人网站,备份至github,命令相对较长,通过写一个脚本的方式对命令简化。

使用shell脚本新建命令简化上传过程

新建命令gitbackup上传笔记至github,新建命令uploadblog更新笔记至个人网站。

每次笔记写完之后只需

uploadblog && gitbackup

即可实现快速上传更新及备份

命令简化过程具体设置教程见:

[[使用Shell脚本自定义命令#上传Github做笔记备份]]

到最后

会发现,每次写完笔记

Android端:同步!写完,同步一下!

windows端:写完,uploadblog && gitbackup,确认同步!

完美做到同步更新备份!


评论
 上一篇
JavaScript基础教程 JavaScript基础教程
JavaScirpt教程目录 快速入门 基本语法 数据类型和变量 快速入门 如何运行JavaScript代码 直接嵌入 <html> <head> <script> alert(&#
2022-03-30
下一篇 
沉浸式写作Zen网页嵌入博客记录 沉浸式写作Zen网页嵌入博客记录
网上看到一个很简单纯粹的写作页面,觉得很不错,想摘下来做成一个单独的源码包,既可以上传到仓库做成一个项目,供其他人搭建一个单独的写作页面,也用来给自己嵌入到博客网站。 网页地址:Zen 网页下载及修改进入页面https://zen.unit
2022-03-29
  目录