转载自https://www.lixint.me/hexo-githubpages.html
欢迎加入博客搭建交流群(QQ群号60429576)>点击加入<
前面的文章中我们进行了
**1. **Github注册以及Github Pages创建
**2. ** Hexo博客本地环境安装
下一步,我们就要进行本地Hexo博客框架的搭建,完成一个能够在本地访问的博客页面。
Hexo简介
Hexo是一个快速, 简洁且高效的博客框架. 让上百个页面在几秒内瞬间完成渲染.
Hexo
支持
Github Flavored Markdown
的所有功能, 甚至可以整合
Octopress
的大多数插件. 并自己也拥有强大的插件系统。
Hexo安装
本步骤需要Git与Node.js的支持,如果没有安装的话请参照Hexo博客本地环境安装进行安装。
初始化
电脑中任选盘符新建一个文件夹作为博客网站的根目录,文件名好不要是中文。
空白处右键点击
Git Bash here

在
出现的命令行窗口中输入
npm install -g hexo-cli
,等待运行完成依次输入以下命令
hexo init <新建文件夹的名称>
cd <新建文件夹的名称>
npm install
等待运行完成,此时文件夹中多了许多文件。
注意:后续的命令均需要在站点目录下(即文件夹内)使用Git Bash运行。
此时Hexo框架的本地搭建已经完成了。我们来运行一下看看:
命令行依次输入以下命令
hexo g
hexo s
浏览器中打开http://locakhost:4000或者127.0.0.1:4000
可以看到一个网页,说明Hexo博客已经成功在本地运行。
本地博客发布到Github Pages
第一步,需要在Github上创建好Github Pages仓库。Github注册以及Github Pages创建
第二步,安装发布插件。
在站点目录中运行命令行输入
npm install hexo-deployer-git --save
后续博客的修改等等各种功能 都需要安装各种插件。这个对博客的帮助是非常大的。
等待插件安装完成。
第三步,将本地目录与Github关联起来。
命令行输入
ssh-keygen -t rsa -C "邮箱地址"
,这里要输入之前注册Github时的邮箱,例如我之前注册用的是 [email protected],那命令行就输入
ssh-keygen -t rsa -C "[email protected]"
输入后一直回车。
打开
C:\Users\用户名
,文件夹内寻找
.ssh
文件夹
文件夹内会有两个文件,一个
id_rsa.pub
一个
id_rsa
,用文本方式打开
id_rsa.pub
,推荐使用Notepad++,复制里面的的内容。
打开Github 点击右上角的头像 Settings 选择SSH and GPG keys
点击New SSH key 将之前复制的内容粘帖到Key的框中。 上面的title 可以随意 点击add 完成添加。
此时回到命令行。 试一下是否跟Github连接成功。命令行输入
ssh -T [email protected]
,弹出的内容输入
yes
,看到出现
Hi <account name>! You've successfully authenticated, but GitHub doesnot provide shell access.
说明链接成功。此处这个
<account name>
应该是你Github的用户名。
第四步 修改Hexo站点的配置文件。
进入博客文件夹,找到
_config.yml
文件。 这个是博客配置文件,后面的修改会多次用到它。用**Notepad++**打开。
修改一下title跟url等,url修改为
https://<用户名>.github.io
,例如我的用户名是example的话,就应该输入
https://example.github.io
拉到文件最底部,在deploy下面添加一个repo项 一个branch项。填入如下代码:
type: git
repo: [email protected]:<Github用户名>/<github用户名>.github.io.git
branch: master
图中也是以用户名为example为例。填写完成后保存即可。
第五步 生成页面上传至Github
命令行输入
hexo g
,此时Hexo会根据配置文件渲染出一套静态页面。
完成后输入
hexo d
,此时会将之前渲染出的一系列文件上传至Github。
Tips: 也可以直接输入
hexo g -d
直接完成渲染和上传。
上传完成后,打开https://<用户名>.github.io查看上传的网页。如果页面变成了之前本地调试时的样子,说明上传以及完成了。没变的话查看一下上传时命令行窗口的信息有没有错误信息,没有的话清除一下浏览器缓存试试。