使用Hexo搭建github博客
Hexo
Hexo是一个快速、简洁的博客框架,使用Markdown解析文章,并可使用自定义的主题来生成静态网页。
Hexo官网:https://hexo.io
安装步骤
安装nodejs
Hexo基于nodejs,所以先要确保安装nodejs。网上说apt-get
的方式安装的nodejs版本有问题,所以直接上nodejs网站上下载安装即可。
安装好之后查看一下命令是否可用:1
2
3
4node -v
v8.10.0
npm -v
5.6.0
如果不能显示版本号,把node
和npm
软连接到/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
7pi@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
4mkdir HexoBlog
hexo init 博客目录
cd 博客目录
npm install
完成后,博客目录如下:1
2
3
4
5
6
7
8
9
10
11pi@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
4deploy:
type: git
repo: git@github.com:GF47/GF47.github.io.git
branch:master
如何配置可以参考官方文档:部署
或者自己使用git提交,不过比较麻烦就是了。