Hexo是一款流行的博客框架,基于Node.js,支持Markdown语法。这篇文章记录我如何完成搭建并部署到Github Pages上。
创建虚拟环境
养成隔离项目环境的好习惯
$ python3 -m venv venv_blog # 创建虚拟环境
$ . venv_blog/bin/activate # 激活虚拟环境
$ mkdir Blog && cd Blog # 创建并进入项目目录
安装Node.js
这是第一个坑,千万不要使用yum
直接安装,似乎是直接安装版本太低,后面会有问题而无法继续。
下载特定版本
# 下载
$ wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz
# 解压
$ xz -d node-v9.3.0-linux-x64.tar.xz
$ tar -xvf node-v9.3.0-linux-x64.tar
# 移至指定目录
$ mv node-v9.3.0-linux-x64 /usr/local/node
$ rm node-v9.3.0-linux-x64.tar.xz # 或保持在`Blog`目录下rm -rf *
配置环境变量
打开配置文件/etc/profile
$ sudo vim /etc/profile
在底部添加PATH
变量
export PATH=$PATH:/usr/local/node/bin
保存退出
安装git
和npm
(常用)
$ sudo yum -y install git npm
安装Hexo
# 可能会遇到下载速度太慢的问题,可切换至淘宝镜像源
$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ npm install -g hexo-cli
运行Hexo
初始化安装
$ hexo init # 初始化
$ npm install
$ hexo -v # 涉及到的各种组件版本
本地启动(可跳过)
$ hexo s # 或`hexo server`
# 在另一个终端下
$ elinks http://localhost:4000/
执行上面第一条命令时如遇到“FATAL Port 4000 has been used. Try other port instead.”,则需要切换端口
$ hexo s -p 5000 # 其他端口类似
# 在另一个终端下
$ elinks http://localhost:5000/
Ctrl + C
退出。
部署到Github Page
创建指定repo
首先需要到你的Github上开启一个新的项目,但是需要按照一定规则:假设你的Github用户名是guser
,那么repo名称必须为guser.github.io.git
,随后创建即可。
安装git deployer插件
$ sudo npm install hexo-deployer-git --save
修改网站配置文件_config.yml
打开Blog
目录下的_config.yml
文件,找到# Deployment
部分(一般是文件末尾处),deploy
保持为空,其他设置如下
type: git
repo: https://github.com/guser/guser.github.io.git
branch: master
保存退出。
完成部署
$ hexo clean
$ hexo g # 或者`hexo generate`
$ hexo d # 或者`hexo deploy`
浏览器访问
访问地址为https://guser.github.io/
完成!!