Typora作为一款本地Markdown的编辑器已经足够好用了,奈何它对云同步完全没有支持,同时为了解决Markdown图片插入问题,笔者近期查阅了一些文章,最终结合自身的需求设计了一套方案。方案如下:Typora+PicList+Github+OneDrive,这套方案包括四个组件,关于这四个组件的功能以及这套方案的优缺点请看下文详解。
云笔记组成
私以为云笔记应该包含以下功能:文本编辑功能、图片管理功能和数据多端同步功能。为了实现这些功能,我拆解出了四个组件。针对这四个组件的说明,笔者选用的对应工具及其优缺点,以及替代的工具如下:
编辑器
最为核心的Markdown编辑工具,笔者选用的是Typora。
优点:一言概之,Typora是目前最好的本地Markdown编辑工具。
缺点:无,硬要说的话它是一个买断制付费软件。
其他推荐:Markdown2,VSCode,MarkText等。
图床
用于Markdown插入的图片存储与访问。笔者选用的是Github。
优点:免费,不需要你考虑各种计费问题;程序员比较熟悉。
缺点:Github访问的稳定性略差,有时图片访问不到;需要了解一点Github的使用知识;Github令牌需要定时更新。
其他推荐:腾讯云COS,阿里云OSS,七牛云等。
注:上述提到的云产品价格并不贵,一年也就二十多块,同时由于是国内的服务器,图片访问速度更快更稳定。
图床管理工具
用于管理上述图床,如上传图片到图床,从图床删除图片等。笔者选用的是PicList。
优点:开源免费,功能丰富,图床支持丰富。
缺点:无。
其他推荐:PicGo(PicList也是基于它做的二次开发)
同步工具
用于将你的Markdown文件进行多端同步的工具。笔者选用的是微软的OneDrive。
优点:全平台,免费;空间充足(5GB);同步效果好;
缺点:目前OneDrive本身对Markdown类型文件的查看支持较差,基本只能作为一个同步工具使用;网页端无法使用,手机App需要使用一些小手段下载;
其他推荐:其实没有特别好的替代,国内有一个叫坚果云的软件有类似的功能,可惜收费策略过于奇葩(免费用户有每月上传下载流量限制,触发了我的流量焦虑,包年价格不便宜且空间太大对我反而有点浪费)。
搭建流程
工具下载
Typora 国内地址 国外地址
PicList 官方网站 Github地址
Github Github
OneDrive 官方网站
安装配置
配置图床
找到个人设置,如下图:
点击创建新的令牌,如下图:
勾选令牌可操作的仓库及操作权限,如下图:
保存好令牌信息,以备后面配置使用
通过上述操作,我们就完成了Github图床的创建并生成了操作该图床的令牌。
配置图床管理工具
Github存储文件域名参考:https://raw.githubusercontent.com/[用户名]/[仓库名]/[分支名]
或 https://cdn.jsdelivr.net/gh/[用户名]/[仓库名]@[分支名]
至此,我们完成了Github图床在PicList中的配置。有关于PicList的其他功能,请参考PicList官方使用文档 。
配置编辑器
首先需要配置好上传服务PicList,路径需要精确到上述PicList安装路径下的可执行文件 PicList.exe
此处的操作,完成了对本地图片粘贴进Typora的上传功能。每当用户粘贴图片到Typora时,Typora会调用PicList将图片上传至PicList中配置的默认图床,并且会将Typora中原来的本地图片地址替换为图床中的web url地址。
配置同步工具
OneDrive基本不需要你做任何额外的配置,只需要登陆你的微软账号即可。同步文件夹中的==所有文件==均会在保存后自动同步到云端。你在另一台电脑上安装好OneDrive,登录你的微软账号,所有云端文件均会自动同步到这一台新的电脑上。
使用效果
得益于Typora的书写体验,本地写作极为舒适。配合上图床和图床管理工具,不仅节省了本地空间,同时解决了文档发布时图片管理混乱的问题。再配合上微软的OneDrive,使得文档同步完全自动化。由此,我们实现了一个书写体验良好,文档同步完全自动化,图片管理成本几乎为零的个人云笔记。
优缺点
优点:
缺点:
其他
这里放置了一些云笔记搭建过程中笔者的思考,废弃方案等。
废弃方案
使用Github代替OneDrive作为同步工具
优点:Github天然对Markdown的支持友好;同样基本不存在容量限制问题;版本控制优秀防止误删等;
缺点:虽然没有引入OneDrive,但实际上引入了另一个组件Git,这个东西对非开发人员来说用起来还是有一定的学习成本的。最关键的是它的同步功能并不适用当前云笔记的场景,每次使用前需要手动拉取最新的文件,并且每次写完文档还需要手动提交修改到Github。这里讲一下,其实Typora对Git是有一定的支持能力的,按下图操作:
这里其实是自定义了Typora的导出功能,而实际上这里官方示例也就是执行了一段Git操作示例,有关于自定义导出的详细介绍还请参考Typora官方的文档:Markdown-Export 。这里配置完自定义的脚本后,还需要你自己建立好对应的本地和远程仓库,并且每次在完成文档编写后进行导出,如下图:
这里笔者自定义导出的命名就叫做Git,各位按照自己的命名点击导出即可。这里导出无论成功或是失败,Typora都会给出弹窗提示,这里笔者不再给出贴图,有兴趣的话还请各位自行实验。
总结一下,这个方案其实没有减少组件,反而增加了新的学习成本(Git,脚本编写),手动同步文档的操作也较为麻烦。综合上述原因,笔者放弃了这个方案,使用OneDrive实现了云同步。
碎碎念
其实如果Typora官方对Git有一个比较好的支持(如VS Code),那么OneDrive确实是不需要使用的,虽然每次手动提交或更新文档稍显麻烦,但对程序员来讲还算是基本操作。不过Typora的用户并不仅仅是程序员,所以这个功能官方大概率是不会添加的。