使用 Hexo + Github Pages 搭建静态博客实践

系统环境: MacBook Pro(macOS Sierra)
环境搭建时间有点久了,在我写这篇文章之时,应该忘记具体的过程和碰到的问题。所以只写一下大致的过程

安装需要用到的工具

Git: brew install git
Node.js: brew install node.js
npm: brew install npm
Hexo: npm install -g hexo-cli

Hexo

初始化

1
2
3
4
5
6
// 创建一个目录, 作为 Hexo 的根目录
$ mkdir <folder>
// 将该目录初始化为你的 hexo 博客目录
$ hexo init <folder>
$ cd <folder>
$ npm install

常用命令

1
2
3
4
5
hexo generate(hexo g) # 生成静态文件, 在当前目录生成一个新的"public"目录
hexo server(hexo s) # 启动本地web服务,用于博客的预览
hexo deploy(hexo d) # 部署到远程服务器
hexo new 'postname' # 新建文章, 存放于source/_post目录下
hexo new page 'pagename' #新建页面, 存放于source目录下

使用 NexT 主题

我使用的是 NexT 主题
切换到 Hexo 根目录(Hexo 初始化的目录)

下载 NexT

1
git clone https://github.com/iissnan/hexo-theme-next themes/next

启动主题

打开 _config.yml 配置文件,设置 themenext 即可

配置 NexT 主题

打开主题配置文件 themes/next/_config.yml, 配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
seo: true
# 全局字体
global:
family: Monda
# 标题字体
headings:
family: Roboto Slab
#logo字体和大小
logo:
family: Lobster Two
size: 24
social:
# 侧边栏社交链接
GitHub: https://github.com/xxxxxx
# 头像
avatar: <url>

Github Pages 设置

创建个人主页

每个账户只能有一个仓库来存放个人主页。
仓库的名字必须是<username>/<username>.github.io
可以通过 <username>.github.io 来访问个人主页

New repositoryRepository name 填入 .github.io → Create repository → Done!

设置 Hexo deploy

1
2
3
4
5
6
7
8
9
10
# 下载插件
npm install hexo-deployer-git --save
vi _config.yml
#--------------------------
deploy:
type: git
repo: git@github.com:username/username.github.io
branch: master
#--------------------------
hexo d

然后就可以用 <username>.github.io 查看个人主页是否同步完成了

绑定域名

修改域名的 DNS 解析, 添加以下两条

1
2
CNAME www username.github.io
CNAME @ username.github.io

插件

sitemap

1
2
3
4
5
6
7
8
9
npm install hexo-generator-sitemap --save # 针对google
npm install hexo-generator-baidu-sitemap --save # 针对百度
vi _config
#--------------------------
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
#--------------------------

RSS

1
2
3
4
5
6
7
8
npm install hexo-generator-feed --save
vi _config
#--------------------------
feed:
type: atom
path: atom.xml
limit: 20
#--------------------------

参考资料