使用Hexo搭建github博客

使用Hexo搭建github博客


Hexo

Hexo是一个快速、简洁的博客框架,使用Markdown解析文章,并可使用自定义的主题来生成静态网页。
Hexo官网:https://hexo.io

安装步骤

安装nodejs

Hexo基于nodejs,所以先要确保安装nodejs。网上说apt-get的方式安装的nodejs版本有问题,所以直接上nodejs网站上下载安装即可。
安装好之后查看一下命令是否可用:

1
2
3
4
node -v
v8.10.0
npm -v
5.6.0

如果不能显示版本号,把nodenpm软连接到/usr/local/bin下即可,命令为ln -s 源文件 目标文件

安装Hexo

使用npm安装:

1
npm install -g hexo-cli

安装完成之后,在nodejs目录/lib/node_modules目录下会生成一个hexo-cli文件夹。
同样将hexo软连接到/usr/local/bin下。
测试是否安装完成:

1
2
3
4
5
6
7
pi@GF47_pi:/usr/local/bin $ hexo -v
hexo-cli: 1.1.0
os: Linux 4.9.59-v7+ linux arm
http_parser: 2.7.0
node: 8.10.0
v8: 6.2.414.50
...

建立站点

安装完成后,建立Hexo目录:

1
2
3
4
mkdir HexoBlog
hexo init 博客目录
cd 博客目录
npm install

完成后,博客目录如下:

1
2
3
4
5
6
7
8
9
10
11
pi@GF47_pi:~/Documents/HexoBlog $ ls -l
total 372
-rw-rwxr--+ 1 pi pi 1942 Mar 9 23:23 _config.yml
-rw-r--r-- 1 pi pi 94053 Mar 13 19:07 db.json
drwxr-xr-x 309 pi pi 12288 Mar 9 22:01 node_modules
-rw-r--r-- 1 pi pi 587 Mar 9 21:55 package.json
-rw-r--r-- 1 pi pi 246517 Mar 9 22:01 package-lock.json
drwxr-xr-x 10 pi pi 4096 Mar 13 18:57 public
drwxr-xr-x 2 pi pi 4096 Mar 8 16:48 scaffolds
drwxr-xr-x 6 pi pi 4096 Mar 10 01:14 source
drwxr-xr-x 4 pi pi 4096 Mar 9 18:31 themes

文件夹作用可以查看官方文档:https://hexo.io/zh-cn/docs/setup.html

启动服务

在博客目录下,输入:

1
hexo server

如果正常运行,可以用浏览器访问提示的网址http://localhost:4000/,默认已经有hexo的主页。

配置

打开_config.yml文件,修改默认配置:

网站配置

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
author 作者
language 网站使用的语言
timezone 时区

网址配置

参数 描述
url 网址
root 网站根目录
permalink 文章永久链接格式

以上是比较重要的项,如果想详细了解可以查看官方文档。

日常应用

  • hexo new post title
    博客目录下输入hexo new post title,在博客目录/source/_posts下会生成title.md,然后就可以编辑了。如果title有空格,用””括起来。

  • hexo clean
    清理生成的文件和缓存。

  • hexo generate
    生成静态页面,生成的页面在public文件夹下,可以直接拷贝。
  • hexo server
    开启服务,在浏览器可以预览效果。
  • hexo deploy
    一键部署,可以直接将生成的页面放到github.io上,前提是安装了hexo-deployer-git插件。

    • 安装

      1
      npm install hexo-deployer-git --save
    • 配置
      打开_config.yml文件,修改最后的deploy项。

      1
      2
      3
      4
      deploy:
      type: git
      repo: git@github.com:GF47/GF47.github.io.git
      branch:master

    如何配置可以参考官方文档:部署
    或者自己使用git提交,不过比较麻烦就是了。