背景
小A在帝都某一互联网公司搬砖,工作之余喜欢捣鼓一些杂七杂八的东西,并将一些灵感和随笔整理在某道云笔记上,方便日后有时间时翻阅和实现,某日公司通知,为避免公司资料泄露,办公环境内限制云笔记、网盘等外部连接,小A不禁悲从心来,在某道云笔记上写下了最后一条待做:搞一个内网能用的云笔记出来
小A的云笔记1.0
小A在某道云笔记受限后,最先想到用mac OS自带的备忘录应急,体验了两天后放弃,原因有三:
- 不支持MarkDown,编辑格式费劲
- 只能同步苹果系产品线(mac、iphone、ipad),windows同步不了
界面太丑(误)
小A的云笔记2.0
mac OS的备忘录战略性放弃后,小A决定自己搞一个出来,云笔记,内容肯定是在云端的,然而办公环境几乎封了所有的网盘,咋整?小A灵机一动,gitHub!
图床都能搞,搞点文档算个啥!而且天生支持版本控制,自从gitHub被微软收购后,还提供了免费的私人库,完美。
小A说整就整,撸起袖子开始干,先从https://github.com/
上创建了一个私有库,并将其同步到本地仓库
然后,小A开始尝试着码字。。
- 创建文本文件
- 码字
- 打开命令行
- 输入git pull...
- git add...
- git commit...
- git push...
摔桌子(误)
这也太费劲了,小A压抑住心中想摔桌的心情,继续投入战斗
小A的云笔记3.0
小A想了想,文本编辑器是必要的,否则不仅毫无格式可言,编辑起来文件多了找起来也费劲,而且最好文本编辑器兼容github,支持相关操作,小A纠结了一会,掏出了atom
,不仅有git图形化界面,还支持markDown即时预览,功能强大
ps:好看开源不花钱,同是还是gitHub亲儿子,兼容性好
安装好后,将本地仓库导入了atom,由于atom有git图形化界面,内嵌在atom编辑器中,看起来情况稍微明朗了一些
小A整理了下思路,开始码字
- 打开atom
- 码字
- 保存
- 添加文件到提交列表
- 编辑commit message
- 提交
- push
嗯,真鸡儿费劲,还是用备忘录算了(误)
小A的云笔记4.0
有了图形化界面之后,相比直接敲git命令是方便了一些,但小A是个懒人,坚信懒人创造世界,秉承着"能机器干的事儿,自己绝对不动手"的原则,小A决心继续迭代
每次码完字小A都要按一下command + s
保存一下,这步能省略吗?能!首选项
-扩展
-搜索autosave
,点击设置
,勾选enabled
保存解决了,然后咧,小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仿佛看到了胜利的曙光,平复了下心情,开始码字
- 打开atom
- 码字
自此,无需任何额外操作,即可实现本地内容自动同步云端,云端内容自动拉取,同时自带版本管理,天然支持markdown语法及预览。
这也太爽了!小A压抑住心中的激动,淡定起身,揉揉眼睛,看了看窗边微亮的天空,恍惚间仿佛看到了自己已然出任CTO。。
彩蛋:
一段时间后,小A发现自己gitHub账号的contributions记录变得很喜人,为啥呢?(猜中了请自我表扬)