之前写作工具:Typora+Notion,后面将写作工具全部转移至obsidian。
想借助转移到obsidian的这一个事情,记录实现同一笔记修改后能够分发到各个平台设备、网盘、服务器的详细过程。
转移原因
主要原因
- 同步问题
Typora不支持全平台无缝写作。Typora写笔记,软件不支持多平台,本身typora不能同步,无法在多平台无缝写作。
- 笔记副本过多,繁琐且不便于同步修改
同一笔记多个副本。使用Typora写笔记既要复制到个人网站博客上传同步,又要导入到Notion,保证Notion笔记同步,同一笔记多次复制,只要有一个修改,其他地方的同一个笔记都得改,很麻烦。
- 兼容性转移性差
Notion导入导出不友好,不适合笔记转移。用Notion写笔记导出md文件至本地,往往需要调整,md笔记导入Notion一样需要调整,兼容性差。
- Notion笔记存储不在本地
打开notion笔记需要加载加载时间,笔记不存储在本地,笔记安全风险大。
总之,对于需要将一份笔记写完能在本地进行管理,能在各个设备间同步,又要实时上传至博客网站的我来说,相当于能够实现一次写作多次分发至各个设备以及服务器。经过一款筛选,最后选择了以markdown为原材料进行管理的一款笔记软件,obsidian。
下面记录我如何用obsidian笔记软件写作实现多端同步并且及时上传服务器的过程。
Obisidian优点
- 保留原素材进行管理
这个软件最大的优点在于,只是对markdown文件,markdown文件夹进行管理的一个写作笔记软件,并没有改变markdown文件。
2.笔记移动性强
笔记只对md笔记源文件进行管理,所以源文件可以独立的转移,不受软件、平台限制。
- 所见即所得
使用Typora的一个重要原因就是markdown语法支持即可渲染,所见即所得这一功能同样可以在obsidian中使用。
- 插件丰富
拥有丰富的社区插件和官方插件,功能扩展性非常强。其中,图片自动上传插件的插入可以完全做到替换Typora。
- 支持全平台同步
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端同步注意事项
定期备份
防止同步过程中更新文件可能出现问题,应该对文件定时备份。不管是不是用同步方案,都应该定期对文件进行备份。Android端使用前后都需要同步
Foldersync并不能实时自动同步文件至本地文件夹,因此每次在Android端使用前同步一次,修改文件后手动同步至onedrive一次。修改文件前确认文件同步及时
桌面端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会同样发生变动,文件同步成功。
软件下载:
Obsidian、Foldersync
缺点与不足
- OneDrive不支持手动同步
OneDrive同步不及时,看不到OneDrive中同步的更新信息时,需要手动暂停再打开同步功能来促使更新同步。这似乎是一个常见问题,也并不受影响,只要知道怎么操作,基本可以接受。
- OneDrive同步需科学上网
没有长期科学上网条件的用户不适合使用OneDrive进行同步更新。
- Android端无法连接图床
这也是一个常见问题,因为插件只能连接桌面端picgo,无法实现手机端图片自动上传至图床,从而生成图片链接。
我的备份方案
实现笔记能够一次写作修改,能够多端同步,服务器更新以后,应该对文件定期进行备份。
- 备份至github
将笔记文件做备份管理,使用git上传到自己的github上,随时推送做备份。如果文件出现误删,可以通过GitHub文件历史版本找回
具体操作见:
[[Git学习笔记#添加远程仓库]]
命令脚本快速备份笔记及上传博客
每次做完笔记都需要上传个人网站,备份至github,命令相对较长,通过写一个脚本的方式对命令简化。
使用shell脚本新建命令简化上传过程
新建命令gitbackup
上传笔记至github,新建命令uploadblog
更新笔记至个人网站。
每次笔记写完之后只需
uploadblog && gitbackup
即可实现快速上传更新及备份
命令简化过程具体设置教程见:
[[使用Shell脚本自定义命令#上传Github做笔记备份]]
到最后
会发现,每次写完笔记
Android端:同步!写完,同步一下!
windows端:写完,uploadblog && gitbackup
,确认同步!
完美做到同步更新备份!