给hexo的post文件名加上日期

简介: hexo博客的默认文件名是没有日期的,如果你想加上日期要怎么做呢···我就用python写了一个小工具来做这个事情。

前段时间翻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)


最后再加一个修改完成之后的效果:


微信截图_20210909172002.png


看着前边整齐的日期,感觉强迫症都好了

相关文章
|
缓存 开发工具 git
【已解决】git pull 显示 Already up-to-date,但文件并没有更新
git pull 显示 Already up-to-date,但文件并没有更新
1543 0
|
11月前
|
Shell 开发工具 git
git怎么处理文件夹名称大小写重命名问题
git怎么处理文件夹名称大小写重命名问题
158 0
|
4月前
|
前端开发 JavaScript
前端用原生js编辑文件内容→创建生成文件(格式可以自定义)→下载文件
前端用原生js编辑文件内容→创建生成文件(格式可以自定义)→下载文件
|
4月前
|
JavaScript 前端开发
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
Gulp 打包压缩 js 文件到指定目录详细流程(修改文件名与后缀)
38 0
POST请求body实现数据以记事本格式保存在服务器
POST请求body实现数据以记事本格式保存在服务器
47 0
Cypress系列(32)- url() 命令详解
Cypress系列(32)- url() 命令详解
309 0
Cypress系列(32)- url() 命令详解
|
JavaScript
根据url下载文件为zip格式文件到客户端并解决火狐浏览器中文乱码问题
根据文件的远程路径将多文件合并成zip压缩包,然后下载到客户端,并解决火狐浏览器中文文件名乱码问题,下面是代码。
302 0
|
应用服务中间件
url请求中去掉根目录
url请求中去掉根目录
186 0