使用hexo+github建个人博客

前言

准备开一个博客,记录一下自己平时碰到的一些问题,也可以供以后进行翻阅,查找定位。
既然是这样那就需要考虑怎么建博客了,之前大学的时候CSDN和博客园都有账号,可是只是零零星星写过一点东西,就放在那了。也自己买域名和vps用wordpress搭过一个博客,这个运行了接近两年,直到我工作一年后才停了。前期的目的是写点技术博客,可是当时学生党为了盈利,慢慢运营成了电影资源下载网站,收益还可以。期间为了改网站模板也自己学了点php,也算有点收获。工作之后就没怎么管过了,考虑到版权问题以及对个人成长的没有多少帮助就给关了。当时关还是有点小不舍的,毕竟自己一手建的站,运营了那么久。啰里吧嗦那么多就是想说其实是对技术博客还是有点情怀的,于是才有了现在想自己开博客,写点技术文章的想法。
好了废话不多说,步入正题。
** 本片文章配置是在Mac完成的,其他系统版本应该也差不多 **

用Github pages创建个人站

我想作为程序员你应该对GitHub不陌生。GitHub提供了Github Pages功能,我们可以用GitHub pages创建自己的个人站。

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服务,站点可以被免费托管在Github 上,你可以选择使用Github Pages 默认提供的域名github.io 或者自定义域名来发布站点。

  1. 登录GitHub账户,点击右上角+号,选择New repository,创建一个新的仓库,用于存放你的网站代码。
  2. 按照要求填写仓库名,要使用默认的域名github.io的话仓库名就要以你的用户名命名,命名规则如下username.github.io,然后选择公开,点击Create Repository,创建仓库完成。
    至此我们在GitHub上有了一个代码仓库,等我们在本地写好代码就可以部署上去了。

安装Git

最简单的方法,去Git官网下载安装,也可以通过以下途径安装

Linux

Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装。

Mac OS安装

安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

Windows

推荐去官网下载,安装完后在命令行下输入git version检查是否安装成功。

使用Hexo搭建博客

  1. 安装Node
    hexo是一款基于Node.js的静态博客框架,所以我们先要安装node。
    • 去node官网下载安装包安装。
    • 有个国内墙的原因,可能上不去官网就算上去了也很慢,推荐使用homebrew安装node
    • 在bash命令下输入 node -v 如果显示版本号说明安装成功。
  2. 安装hexo
    安装完node就可以用npm去安装hexo了,hexo官网

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。

执行以下命令安装hexo:
npm install hexo-cli -g #-g表示全局安装, npm默认为当前项目安装
然后执行:
hexo version
如果出现版本号说明安装成功。如果报错,尝试用下面的命令安装
npm install hexo --no-optional
然后使用以下命令:
hexo init blog //执行初始化命令到指定的目录,这里的目录是hexo文件夹
cd blog
npm install
hexo generate //在当前目录下生成静态网页
hexo server // 启动本地服务
在浏览器输入 http://localhost:4000 就可以看到效果,到此hexo生成静态网站就已经完成。

部署到Github

进入你的博客目录,找到配置文件_config.yml修改如下信息

1
2
3
4
deploy:
type: git
repo: git@github.com:username/username.github.io.git
branch: master

这里的username是之前注册的github的用户名
现在可以执行:hexo d部署到github了,不过有时候会出现问题,如果报如下错误

1
2
3
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

说明连接不到远程仓库。一般是需要配置你电脑的SSH Key

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

关于SSH的原理可以通过阮一峰老师的一篇文章了解一下:
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
配置SSH Key 的方法可以参考GitHub官网的教程:
https://help.github.com/articles/generating-an-ssh-key/
按步骤测试好之后就可以使用hexo d部署了.部署完之后在浏览器输入:http://username.github.io/ 就可以看到效果了。