花费近一个工作日的时间, 从Hugo迁移到了Zola,
麻烦在于path
的修正、分页、单页,以下是一个简单的做迁移时的脚本:
import sys
import os
import re
from datetime import datetime
for dirname, _, filenames in os.walk(sys.argv[1]):
for filename in filenames:
filename = os.path.join(dirname, filename)
block_sp = False
title = None
date_str = ''
date = None
remain = ''
with open(filename) as f:
for i, l in enumerate(f.readlines()):
if l == "+++\n":
if block_sp:
block_sp = False
else:
block_sp = True
else:
if block_sp:
x = re.findall('title = "(.+)"', l)
if len(x) > 0:
title = x[0]
x = re.findall('date = "(.+)"', l)
if len(x) > 0:
date_str = x[0]
date = datetime.strptime(x[0], "%Y-%m-%dT%H:%M:%S+08:00")
else:
remain = remain + re.sub("{{<.*highlight.*>}}", "```", l).replace("<!--more-->", "<!-- more -->")
if not date:
continue
path = date.strftime("%Y/%m/%d/") + title
all = '+++\ntitle = "{}"\npath = "{}"\ndate = {}\n+++\n\n'.format(title, path, date_str) + remain
with open(filename, 'w') as f:
f.write(all)
使用的感受来说,Zola
的设计相比Hugo
更精细,结构更清晰,模板引擎Tera
用起来更舒适,但也存在一些需要优化的细节,
看看Issues就知道很多功能值得期待。
从WordPress
迁移到Hugo
, Hugo
已用近5年,到现在,Hugo
的功能已非常完善,使用者众多,
社区也不断壮大,在静态网站生成器排名中也名列前茅。Netlify
提到JAMstack
的概念,从十来年互联网的技术发展来说,
由静到动再到静,可以说是否定之否定。这其实是一种理念,比如说CMS
,建站系统,如何应用JAMstack
。