使用Hexo创建博客站点
更新日志 2018年3月1日:添加不蒜子统计和Google分析配置
Hexo是一个老牌的博客写作与管理工具,我从Jekyll迁移到Hexo也有五六年的时间了,虽然博客没写几篇(写作也是个体力活啊),但是断断续续也在维护,只是开始用Hexo时还是2.x的版本,后来升级到3.x版本,使用过程中始终有些小问题,而且因为我有多台电脑,如何在多台电脑之间维护管理博客也是一个问题,一直没有认真去解决,这次趁着春节放假,离上班还有几天时间,就把整个博客仓库清理了一遍,把遗留的问题也都解决了,把整个过程记录下来,以做备忘。
基本安装和配置
hexo的安装和配置
Hexo自身的安装其实很简单,一行命令就完成了:
1
npm install -g hexo-cli
创建博客站点
创建Git仓库
其实这一步不是必须的,但是出于备份(谁也不想自己辛辛苦苦写的东西一夜之间就没了)和同步(需要在多台电脑写作和同步博客内容及配置的话,这种情况现在并不少见)的考虑,我们最好还是使用版本控制工具将所写的内容和Hexo的配置管理起来。由于一般使用Hexo的话都会将博客部署到GitHub
Pages,所以我们这里选择使用GitHub来托管我们的博客内容。 首先要在GitHub上创建一个xxx.github.io的仓库(这里xxx为你的GitHub用户名,如果没有GitHub账户的话就自己注册一个);
然后在本地检出这个仓库: 1
2git clone https://github.com/xxx/xxx.github.io
cd xxx.github.io1
git branch
1
git checkout -b hexo
初始化
进入博客目录,并使用Hexo进行初始化: 1
2
3cd xxx.github.io
hexo init
hexo install
基本配置
打开_config.yml文件,根据自己的情况修改以下几项: 1
2
3
4
5
6title: A Blog # 博客站点的名称
subtitle: Blog Subtitle # 博客站点的副标题
description:
author: Somebody # 作者名称
language: zh-CN # 站点语言
timezone: Asia/Shanghai # 时区1
hexo server
主题的安装和配置
选择一个自己喜欢的主题,我选择的主题是next,下面以这个主题为例来描述如何安装和配置主题。
首先将前面移走的.git目录移回博客目录下,这样博客目录里面的内容才会被Git管理起来;
然后访问选定主题的GitHub页面,将其fork到自己的账户下;
第三步将主题的git仓库fork到自己的账户下: 1
git submodule add https://github.com/theme-next/hexo-theme-next.git
1
theme: my-next
【注】: 关于如何Fork以及同步Fork,请参考Fork A Repo
部署到GitPages
用 Hexo创建的博客可以有多种部署方式,最常见的就是部署到GitPages,免费又好用。要部署到GitPages,我们需要完成以下几个步骤:
1.
在source目录下创建一个名为CNAME的文件,在里面加入自己注册好的域名,例如example.domain,然后通过
DNSPod之类的DNS解析服务商将域名解析道对应的GitPages地址。
2. 安装git部署器,以便部署到github 1
npm install hexo-deployer-git --save
1
hexo deploy
电脑之间的同步
如果新电脑上还没有检出博客,则先执行检出操作并切换到hexo分支并进行更新:
1
2
3
4
5
6git checkout https://www.github.com/xxx/xxx.github.io
git fetch
git checkout hexo
git submodule update --init
npm install --save
npm install hexo-deployer-git --save
如果已经检出了博客,则直接运行更新命令即可: 1
2git submodule update
git pull
常用插件
不蒜子统计
不蒜子是一个可以统计站点和页面访问量的工具,在最新的next主题中的配置相当简单,只需要打开主题的_config.yml文件,找到busuanzi_count,将enable设置为即可。如果还需要站点的UV数,直接在busuanzi_count下面添加如下配置即可:
1
2
3site_uv: true
site_uv_header: 本站访客数
site_uv_footer: 人次
设置站点的PV数: 1
2
3site_pv: true
site_pv_header: 本站总访问量
site_pv_footer: 次
设置单页面的PV数: 1
2
3page_pv: true
page_pv_header: 本文总阅读量
page_pv_footer: 次