趁着这个元旦假期在家“陪”爸妈和娃(其实是爸妈在看电视,娃在玩积木,我在敲代码),用python和shell升级了晨间日记的新写法: >>每天早上起床后打开电脑,在命令行里敲下md,程序自动从网上抓取近十天的天气预报,自动计算近十天的生理周期指数(身体、智力、情绪、直觉)显示在命令行里,大眼一扫后按回车键,程序自动按照晨间日记的模板(模板包含当天天气,当天生理指数信息,重要日期倒数日,坚持项目坚持天数,以及距出生共过了多少天等等)生成按yyyy/mm/dd-title.md的文件并以vim方式打开进行编辑,完成后直接使用hugo本地打开进行预览,还可以点击日期tag或者星期tag查看上月今日、去年今年以及上周今日等的日记进行回顾。

下面我简单罗列一下实现思路。

晨间日记

06年偶然看了《4点起床》这本书,从此就和晨间日记结下了缘,两年时间里,先后尝试过excel、印象笔记、QQ邮箱里的记事本,总觉得不好用,这两天接触hugo后,感觉博客里的tag可以完美解决想要查看去年今日这类信息组织类的需求,于是就参考hugo new content的思路用shell来自动根据当天日期生成yyyy/mm/dd-title.md文件,当日自动生成的信息按照hugo格式放在markdown文件的meta信息里,日记内容按照模板生成,实现真正写日记的时候只需要填空即可。

天气预报

自从墨迹天气app有一次莫名其妙打不开后,就彻底删除了这个APP,从此开始使用iphone自带的天气,既然我明天早上都要写晨间日记,那何不直接在写日记之前看一下最近的天气趋势,以便能根据天气情况调整自己的计划,同时日记里也需要记录一下当天的天气情况。所以就用python实现了一个爬取天气预报和空气质量的脚本,在生成日记文件之前显示,并将当天的天气信息传给shell自动填充到日记的meta信息,然后修改hugo的模板,使用诸如{{ .Params.weather }}标签就可以取出来显示在日记列表上了。

生理周期

记得应该是初三的时候接触生理周期,当时还是使用手算的方式计算每天的各个周期指数。这次就顺带用python直接算好最近十天的趋势,可以根据趋势提前安排计划。

农历

使用python自动计算出农历日期并填到日记的meta里,然后在hugo模板里展示出来。

坚持日和倒数日

坚持日和倒数日是晨间日记里推荐的重要信息,本次也是使用python直接计算好填入日记的meta信息里,然后在hugo模板中再取出来进行展示。

信息组织

日记的meta里categories自动按年归类,tags里自动填入日期、月份、星期等,这样就可以在hugo站点里直接点击tag快速定位和回顾历史特定的某一天做的事情。

数据加密和解密

由于日记不同于博客,不好直接推送到git仓库或发布,但是没有git管理的话,会很不方便,所以就用shell简单实现了个内容加密解密,这样就可以在推送git时加密,在本地查看时自动解密。