从前天开始了个人博客从Hexo迁移到Hugo的旅程。统共分四步:
- 建新的GitHub Repo来host博客的源文件
- 把Hexo的博客源文件转成Hugo能认识的文件
- 配置Hugo的theme
- 推送静态网站到Github
建新的GitHub Repo来host博客的源文件
这一步没有任何难度,就不多说了。唯一的惊喜是发现GitHub free账号现在可以建无限量的private Repo,感谢Microsoft! 果断建了一个private Repo来host博客的源文件,毕竟你也不想别人随意来修改你的博客,对吧?
把Hexo的博客源文件转成Hugo能认识的文件
这么多年我就写了10篇博客,所以这一步对我来说比较简单:纯手工把所有的Markdown文件改改就可以了。要改3个地方
- md文件名
Hexo的文件名
2016-03-10-用cytoscape-js展示neo4j网络关系图-1-Flask.md
Hugo的文件名
用cytoscape-js展示neo4j网络关系图-1-Flask.md
- md文件头部内容里的时间戳格式
Hexo的时间戳是这样的:2016-03-10 16:03:23
---
title: 用cytoscape.js展示neo4j网络关系图 - 1. Flask
date: 2016-03-10 16:03:23
tags:
- neo4j
categories:
- 技术
---
Hugo的时间戳是这样的:2016-03-10T16:03:23+08:00
---
title: 用cytoscape.js展示neo4j网络关系图 - 1. Flask
date: 2016-03-10T16:03:23+08:00
tags:
- neo4j
categories:
- 技术
draft: false
---
- 把图片都移到 <my_hugo_blog>/static/images目录下
这样在Markdown文件里访问图片的路径就是/images/pic.png
![整体的架构](/images/cytoscape/1/1.png)
配置Hugo的theme
Hexo时代一直用Next做博客主题, 所以Hugo我也准备用Next作为Theme. 你需要
- 把Next的代码加入到博客源文件目录
$ cd <my_hugo_blog>
$ git submodule add https://github.com/zhongzhu/hugo-theme-next.git themes/next
- 配置<my_hugo_blog>/config.toml来定制Next的外观
基本就是照着<my_hugo_blog>/themes/next/config.toml里面的配置抄一遍就好了。
- 在本地看看网站的显示效果
运行如下命令启动Hugo本地服务器,它会把你的Markdown源文件编译成静态网站,并且启动一个web服务器。
$ cd <my_hugo_blog>
$ hugo server -D
在浏览器里访问http://localhost:1313/
就可以看到你的博客网站啦。
推送静态网站到GitHub
步骤比较多,可以用如下Hugo建议的脚本来自动推送生成的静态网站文件到Github。
#!/bin/sh
# If a command fails then the deploy stops
set -e
# check out static web pages
git clone https://github.com/zhongzhu/zhongzhu.github.io.git public
printf "\033[0;32mDeploying updates to GitHub...\033[0m\n"
# Build the project.
hugo -t next # if using a theme, replace with `hugo -t <YOURTHEME>`
# Go To Public folder
cd public
# Add changes to git.
git add .
# Commit changes.
msg="rebuilding site $(date)"
if [ -n "$*" ]; then
msg="$*"
fi
git commit -m "$msg"
# Push static web pages to GitHub
git push origin master