【干货】如何搭建一个简易的云笔记

背景

小A在帝都某一互联网公司搬砖,工作之余喜欢捣鼓一些杂七杂八的东西,并将一些灵感和随笔整理在某道云笔记上,方便日后有时间时翻阅和实现,某日公司通知,为避免公司资料泄露,办公环境内限制云笔记、网盘等外部连接,小A不禁悲从心来,在某道云笔记上写下了最后一条待做:搞一个内网能用的云笔记出来

小A的云笔记1.0

小A在某道云笔记受限后,最先想到用mac OS自带的备忘录应急,体验了两天后放弃,原因有三:

  1. 不支持MarkDown,编辑格式费劲
  2. 只能同步苹果系产品线(mac、iphone、ipad),windows同步不了
  3. 界面太丑(误)

小A的云笔记2.0

mac OS的备忘录战略性放弃后,小A决定自己搞一个出来,云笔记,内容肯定是在云端的,然而办公环境几乎封了所有的网盘,咋整?小A灵机一动,gitHub!
图床都能搞,搞点文档算个啥!而且天生支持版本控制,自从gitHub被微软收购后,还提供了免费的私人库,完美。

image.png

小A说整就整,撸起袖子开始干,先从https://github.com/上创建了一个私有库,并将其同步到本地仓库
然后,小A开始尝试着码字。。

  1. 创建文本文件
  2. 码字
  3. 打开命令行
  4. 输入git pull...
  5. git add...
  6. git commit...
  7. git push...
  8. 摔桌子(误)

这也太费劲了,小A压抑住心中想摔桌的心情,继续投入战斗

小A的云笔记3.0

小A想了想,文本编辑器是必要的,否则不仅毫无格式可言,编辑起来文件多了找起来也费劲,而且最好文本编辑器兼容github,支持相关操作,小A纠结了一会,掏出了atom,不仅有git图形化界面,还支持markDown即时预览,功能强大
ps:好看开源不花钱,同是还是gitHub亲儿子,兼容性好

安装好后,将本地仓库导入了atom,由于atom有git图形化界面,内嵌在atom编辑器中,看起来情况稍微明朗了一些


image.png

image.png

image.png

小A整理了下思路,开始码字

  1. 打开atom
  2. 码字
  3. 保存
  4. 添加文件到提交列表
  5. 编辑commit message
  6. 提交
  7. push
  8. 嗯,真鸡儿费劲,还是用备忘录算了(误)

小A的云笔记4.0

有了图形化界面之后,相比直接敲git命令是方便了一些,但小A是个懒人,坚信懒人创造世界,秉承着"能机器干的事儿,自己绝对不动手"的原则,小A决心继续迭代

每次码完字小A都要按一下command + s保存一下,这步能省略吗?能!首选项-扩展-搜索autosave,点击设置,勾选enabled

image.png

保存解决了,然后咧,小A想了下,先敲了个shell脚本

#!/bin/bash
cd /Users/luandechong/github/testCloudNote
git add .
git commit -m "git auto push"
git pull origin master
git push -u origin master

一次性实现了add、commit、pull、push功能,但小A连执行shell脚本都懒的弄,咋整?能自动执行吗?能!

小A挠挠头,又掏出了crontab定时任务,写下了一段命令

* * * * * /Users/luandechong/Development/script/gitAutoPush.sh > ~/Development/script/gitAutoPushLog.txt 2>&1 &

上面配置含义为:每分钟跑一次gitAutoPush.sh脚本,同时将日志输出至gitAutoPushLog.txt中。

具体使用说明这里不费篇幅介绍了,上有很多教程,通过crontab能实现很多实用功能,比如自动订餐、午休提醒、自动打卡(误)等,后续有时间可能会开新坑专门聊下crontab+XXX来实现一些很过分的功能。

小A的云笔记5.0

配置完成后,小A仿佛看到了胜利的曙光,平复了下心情,开始码字

  1. 打开atom
  2. 码字

自此,无需任何额外操作,即可实现本地内容自动同步云端,云端内容自动拉取,同时自带版本管理,天然支持markdown语法及预览。
这也太爽了!小A压抑住心中的激动,淡定起身,揉揉眼睛,看了看窗边微亮的天空,恍惚间仿佛看到了自己已然出任CTO。。

彩蛋:

一段时间后,小A发现自己gitHub账号的contributions记录变得很喜人,为啥呢?(猜中了请自我表扬)

image.png

你可能感兴趣的:(【干货】如何搭建一个简易的云笔记)