前段时间翻hexo的介绍的时候,里边提到有一个new_post_name
的配置,可以让每次新建文章的文件名都改成日期-文件名的形式,这样子也是推荐做法。
# Writing new_post_name: :year-:month-:day-:title.md # File name of new posts default_layout: post
然而默认的方式是没有加日期的···我改了这个配置之后就变成了一半是有日期的,另外一半是没有日期的,视觉上看起来非常的尴尬。于是我忍耐了一小段时间之后,就写了下边这么一个python小脚本来把没有改时间的post的文件名都加上了时间。
因为ubuntu自带一个py2.7,所以这个就是2.7的,能不能在3.x上运行我也没有试过··
把下边的代码保存成py文件保存在source/_posts
文件下边,一般ubuntu都可以无障碍执行,然后py 执行这个文件就好了,可以说是非常方便。
当然改好之后一定要记得在_config.yml
里边修改new_post_name的配置呀!
最后感叹一下,python用来写点脚本实在是方便的不行。
import os import re entries = os.listdir(os.getcwd()) for entry in entries: if entry.endswith("md"): if re.match('^\d{4}-\d{1,2}-\d{1,2}', entry, flags=0) == None: with open(entry, 'r') as f: data = f.read() matchobj = re.search('\d{4}-\d{1,2}-\d{1,2}', data) newFileName = matchobj.group() + '-' +entry print "now rename file: " + entry + " to: " + newFileName os.rename(entry, newFileName)
最后再加一个修改完成之后的效果:
看着前边整齐的日期,感觉强迫症都好了