由于hexo
的语言限制,在博客文章数量达到一定的数量后,生成静态内容的速度比较的缓慢,最近打算转到hugo
的框架上,hugo
使用的是golang
编写的,号称是世界上最快的静态页面生成器
但是由于 golang
语言的一些语法及特性,在一些变量的表现上跟hexo
有所不同,markdown
文件虽然可以复用,但是文章内容的front matter
,即文章头定义的那些标签会有所不同,首先是时间的格式会不同
go
默认的格式是xxxx-xx-xxTxx-xx-xx+08:00
[+08:00
代表的是时区.还有就是tags,categories
等标签的定义,在go
里定义多个要用数组,长度不确定需要使用切片,切片的形式为 []type{}
,所以在hugo
中定义多个tags
跟hexo
会有不同]
hexo中
[tags: ]
- hexo
- blog
hugo 中
[tags: [hexo,blog]]
为了解决markdown
文件的复用问题,我们使用golang
写一个脚本,将hexo
文章的头标签更改为hugo
需要的格式
思路: 1. 获取目录下的所有markdown
类型的文件 [ 2. 读取内容,并查找tags,categories
标签] 3. 进行替换 4. 将替换的内容重新写进文件
项目地址: hexo2hugo
说明:
[ 当前只实现了对 tags,categories
单标签单属性的替换,如有其他需求可以自行克隆增加]
待优化项(功能):