Github+Hexo 个人博客搭建教程

1.下载Node.js安装文件:

Window Installer 64-bit

保持默认设置即可,一路Next,安装很快就结束了。 然后我们检查一下是不是要求的组件都安装好了,在cmd界面输入:

1
2
3
4
node -v
v.0.12.1 #表示成功
npm -v
2.5.1 #表示成功

linux 系统安装教程 https://nodejs.org/en/download/package-manager/#arch-linux

centos 安装命令

1
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

1
sudo yum -y install nodejs

Optional: install build tools
To compile and install native addons from npm you may also need to install build tools:

1
2
sudo yum install gcc-c++ make
# or: sudo yum groupinstall 'Development Tools'

2.安装git
3.安装Hexo

在自己认为合适的地方创建一个文件夹,这里我以E:/hexo 为例子讲解,首先在E盘目录下创建Hexo文件夹,并在命令行的窗口进入到该目录
image
在命令行输入:

1
npm install hexo-cli -g

然后你将看到:
image
可能你会看到一个WARN,但是不用担心,这不会影响你的正常使用。
在命令行中输入:

1
hexo -v

如果你看到了如图文字,则说明已经安装成功了。

image

4.hexo的相关配置

初始化Hexo

1
2
hexo init blog
cd blog

首次体验Hexo
继续操作,同样是在命令行中,输入:

1
2
# 首次操作可以不执行,界面已经编译好了。
hexo g

image
然后输入:

1
hexo s

然后会提示:

1
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

在浏览器中打开http://localhost:4000/
主题地址

5.配置Github

Git 免密

  1. 打开git bash,cd ~/.ssh,查看是否已经存在公私钥了。如果不存在则运行:ssh-keygen -t rsa -C "youremail@example.com" 把其中的邮件地址换成自己的邮件地址,然后一路回车
  2. 最后完成后,会在用户主目录下生成.ssh目录,执行cd ~/.ssh/,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH key密钥对,id_rsa是私钥,千万不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人,使用命令clip < ~/.ssh/id_rsa.pub直接复制到粘贴板或者cat id_rsa.pub
  3. 登陆GitHub,打开「Settings」->「SSH and GPG keys」,然后点击「new SSH key」,填上Title,在Key文本框里粘贴公钥id_rsa.pub文件的内容(千万不要粘贴成私钥了!),最后点击「Add SSH Key」,你就应该看到已经添加的Key。

hexo 部署编译文件到github
修改_config.yml文件,来建立关联,命令:

1
vim _config.yml

翻到最下面,改成我这样子的

1
2
3
4
5
6
7
deploy:

type: git

repo: https://github.com/username/username.github.io.git

branch: master

然后执行命令:

1
npm install hexo-deployer-git --save

配置好git ssh后
执行配置命令:

1
2
# 通过命令推送编译好的源码到github上面。然后就可以直接通过youname.github.io访问了。
hexo deploy

部署步骤

每次部署的步骤,可按以下三步来进行。

1
2
3
4
5
hexo clean

hexo generate

hexo deploy

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
hexo new"postName" # 新建文章

hexo new page"pageName" # 新建页面

hexo generate # 生成静态页面至public目录

hexo server # 本来浏览 可以简写成 hexo s 开启预览访问端口(默认端口4000,'ctrl + c'关闭server)

hexo deploy # 将.deploy目录部署到GitHub

hexo help # 查看帮助

hexo version # 查看Hexo的版本

备份源码

把Hexo的源码备份到Github分支里面,思路就是上传到分支里存储,修改本地的时候先上传存储,再发布。更换电脑的时候再下载下来源文件打开git-bash

1
2
3
4
5
$ git init
$ git remote add origin git@github.com:username/username.github.io.git
$ git add .
$ git commit -m "blog"
$ git push origin master:Hexo-Blog

现在你会发现github你的博客仓库已经有了一个新分支Hexo-Blog,我们的备份工作完成。
换一台电脑之后处理Hexo

  1. 使用git clone git@github.com:username/username.github.io.git拷贝仓库;
  2. 切换分支git checkout Hexo-Blog,官方详细说明是这样的切换命令git checkout -b Hexo-Blog origin/Hexo-Blog
  3. cd username.github.io进入项目目录
  4. 安装hexo客户端npm install -g hexo-cli,清理项目hexo clean,然后生成静态文件并部署hexo g -d
  5. 通过git push origin Hexo-Blog命令把文件上传到分支目录;(你也可以把本地分支推送到某个命名不同的远程分支:若想把远程分支叫作 awesomebranch,可以用 git push origin Hexo-Blog:awesomebranch 来推送数据。)
  6. 如果出现ERROR Deployer not found: git 或者 ERROR Deployer not found: github;解决方法: npm install hexo-deployer-git --save
  7. 记得,不需要hexo init这条指令,部署的时候github必须已经免密。