博客迁移记录

前言

为什么要迁移博客

之前的博客效果不是很满意(太丑),文章的质量也不是很满意(基本都是抄抄书,记记笔记),正好改头换面,希望后面能提高文章的质量。

从Hexo到Hugo

之前的博客一直用的是hexo,感觉部署起来确实有点慢,听说Hugo是用go写的(好感度++)而且部署起来还贼快(毕竟号称"The world’s fastest framework for building websites")。

hugo安装与配置

安装hugo

Mac用户的福音,只需一行:

brew install hugo

创建站点

hugo new site blog

然后我们就可以看到blog目录下一堆文件和目录:

blog
├── archetypes 		# 主要是文档文件的模板,预定义了一些头部信息
│   └── default.md
├── config.toml 	# 配置文件
├── content 			# 内容文件
├── data 					# 可以存放一些JSON格式之类的数据
├── layouts 			# 生成html用的模板文件
├── static 				# 放一些图片、CSS、js等静态资源文件
└── themes 				# 存放主题

建议在这个时候进行git init, 为后续的博客备份做准备

安装主题

我这里选择的是Hermit主题

git submodule add https://github.com/Track3/hermit.git themes/hermit

覆盖原有的配置文件

cp cp themes/hermit/exampleSite/config.toml ./

然后根据配置文件中的提示做相应的修改。

旧博文迁移

就博文的head是用hexo生成的,要转换成hugo的话,主要是时间的格式,还有多了draft字段,所以只要改改head就可以了。

迁移到Github上

你可以首先在github上建立一个Blog私有仓库,作为整个blog的备份。

将本地的仓库关联到github上:

git remote add origin git@github.com:<your-username>/Blog.git

然后public和github pages相关联:

git submodule add -b master git@github.com <your-username>/<your-username>.github.io.git public

然后就可以进行部署了:

cd public
git add .
git commit -m "msg"
git push origin master
cd ..

我们可以把这个写进一个自动化脚本里:

# Generating your websites
echo "Generating websites"

# Build website
hugo -t hermit

# commit public
cd public
git add .
msg="update website `date`"
git commit --allow-empty  -m "$msg"

# push to origin
git push origin master

# Back to Blog
cd ..

后续待做

为博客添加评论

希望为博客添加自动化部署,每次commit就能自动发布。