用hexo建立GitHub-Page

第一次搭建Github-page的过程中遇见了不少问题。网上的教程很多,看起来眼花缭乱,在此根据自己的经验稍作整理。(windows环境)

〇、Hexo

hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和Heroku上。作者是来自台湾的@tommy351.用作者的话来说Hexo是一套快速、简洁且高效的博客框架。

类似于jekyll、Octopress、WordPress,我们可以用hexo创建自己的博客,托管到GitHub上,绑定自己的域名,用MarkDown写文章。本博客即使用hexo创建并托管在github上。

为什么要使用Hexo?

超快的速度

Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。

支持 Markdown

Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。

一键部署

只需一条指令即可部署到 GitHub Pages, Heroku 或其他网站。

丰富的插件

Hexo 拥有强大的插件系统,安装插件可以让 Hexo 支持 Jade, CoffeeScript。

一、准备工作

你需要下载gitNode.js、两个软件,并且在windows下选择默认路径进行安装。同时建议你使用sublime进行文本编辑。

1.安装Hexo

使用npm命令即可直接安装 (可以直接在屏幕任意地方直接右键: Git Bash Here)

npm install -g hexo

静静等待安装完毕即可.

2.创建Hexo目录

目录可以在任意地方创建 (注:尽量全英文路径 避免不必要的问题)
EG: C:\Users\Documents\Hexo
现在进入Hexo目录内在里面右键选择: Git Bash Here

Hexo 会自动生成建站所需要的文件,在gitbash 里面依次执行:

hexo init
npm install

hexo会自动配置环境。

测试一下安装是否成功来进行下一步:

hexo s

出现INFO HEXO运行在本地端口等信息则说明hexo安装成功,此时如果在浏览器输入 localhost:4000可以看见本地的hexo blog默认的框架–别心急,这只意味着可以进行下一步的配置了。

二、配置github的SSH

GitHub Pages本用于介绍托管在GitHub的项目, 不过,由于他的空间免费稳定,用来做搭建一个博客再好不过了。github公司也鼓励使用Github搭建博客来分享技术心得。

github Pages可以被认为是用户编写的、托管在github上的静态网页。
若想建立Github-page,首先应当在github.com 拥有自己的账号。简单的注册程序。
在自己Github主页右下角,创建一个新的repository。比如我的Github账号是Simonic512,那么我应该创建的repository名字应该是Simonic512.github.io,作为blog的仓库应该符合这个命名规范。

1. 配置SSh key:

首先我们需要检查你电脑上现有的ssh key:

$ cd ~/.ssh

如果提示:“No such file or directory” 说明你是第一次使用git。

2. 生成新的SSH Key:

$ ssh-keygen -t rsa -C "you@youremail.com"

注意:Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):(回车就好),
Enter passphrase (empty for no passphrase):(回车,不要输入密码)
Enter same passphrase again:(回车不要输入密码)

因为Hexo的自动部署如果有密码的话会部署失败!!

3. 添加SSH Key到GitHub

在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。

在 C:\Users\Administrator.ssh 路径下找到 id_rsa.pub 文件,使用文本编辑器打开,ctrl+a 复制全部文本。

登陆GitHub官网,找到右上角的 Settings —> SSH keys —> Add SSH keys,将刚才复制的文本全部粘贴到key文本框中(title随意填)。add Key添加。

4. 测试是否成功

$ ssh -T git@github.com

如果是以下提示:
“Hi Yourusername! You’ve successfully authenticated, but GitHub does not provide shell access.”
证明你配置成功了。

5. 设置用户信息

$ git config --global user.name "Yourusername"   #GitHub用户名
$ git config --global user.email  "Your email"   #填写自己的邮箱

至此配置GitHub就已经完成了

三、上传本地的blog信息到 github

最重要的一步,首先打开Hexo根目录下的 _config.yml 文件(推荐使用sublime),将文件最后几行改为如下形式:

deploy: 
  type: git
  repository: https://github.com/Simonic512/Simonic512.github.io.git
  branch: master

需要注意的是每个冒号(半角)后都需要一个半角空格,Simonic512的位置替换成你的用户名。(如果不成功将git改为github再试一次)

保存后进入 Hexo目录,在文件夹任意地方右键 Git Bash

$ hexo clean && hexo g && hexo deploy && hexo clean

讲解一下这串命令含义:

hexo clean : 清理 database 和 /public目录, /public目录里是生成的静态文件数据。
hexo generaet : 简写是 “hexo g” 命令是用来生成静态页面的 会创建 /public目录静态页面数据都在这个文件夹里。
hexo deploy : 一键部署命令上面在 _config.yml文件中配置了部署信息。这个命令会帮助你一键部署。

运行完这个命令,然后访问:http://Yourusername.github.io 看看是否能在互联网中访问。访问成功则说明你的 github-Page搭建成功。

以后有关github的文章会随着自己的学习陆续更新,下一篇会继续分享有关clone主题、配置config信息来自定义自己的blog、如何发布你的第一篇文章等内容。