怎么用HEXO+github搭建个人博客网站

建站前的一些唠叨

个生活的瞬间,总想着把自己的所想所感,所悟、所得记录下,哪怕是零星的,粗糙的,鄙俗的,都是自己对生活真相的一次次靠近的证明,于是催生了做个自己的博客的想法,2015年的使用了WordPress技术做了一个博客,自己买了云服务器,域名,终于有了自己的个人网站,后来服务器到期前的那段时间,正赶上项目上线,没有来得及迁移,就被付之一炬。

前天seazhang童鞋发来几个建站教程,又一次萌生了开博客的想法,说干就干,栽种一棵树最好的时间是十年前或现在。于是乎,今年又开始了新的征程,活着,就要学习,2005 年乔布斯在斯坦福的演讲中说到“stay hungry stay foolish”,对世界怀有敬畏,好奇之心,才能保持自己活的永远年轻,永远热泪盈眶。

建站准备

我自己建站的环境是Mac环境,下面主要以Mac环境为准:

环境:

安装

  • node.js用来创建hexo博客框架的用的依赖,我安装的是node-v8.11.3;
  • Git环境,你可以安装客户端或者 用Homebrew 安装git,关于Homebrew的安装不在本教程讨论之内,大家自行搜索。

安装hexo

利用npm命令就可以安装hexo如果自己npm下载出错 可以用国内的一些网站镜像代替

比如淘宝 NPM 镜像 可以参考这篇文档 国内优秀npm镜像推荐及使用

1
npm install -g hexo

如果 遇到权限报错 可以 在前面加上 “sudo” 这个时候 会让你输入电脑密码获得权限,以下所有的指令,如果遇到问题都可以在前面加上“sudo” 尝试解决。

初始化

安装完毕,选择本地你要建站的文件夹,我的是 “/Users/hoolai/jsroads/myblog”,然后打开控制台执行命令,hexo 会初始化网站所需的文件。

1
hexo init

接着安装 npm 依赖包

1
npm install

上面的一切就绪之后,就可以开始本地测试一下了。关于hexo 指令可以参考 hexo指令 运行生成静态文件的指令

“hexo generate” 你也可以使用 “hexo g”代替

1
hexo generate

编译成功后 继续输入 “hexo deploy” 部署网站 可以用“hexo d” 代替

1
hexo deploy

此时 可以用浏览器访问 http://localhost:4000,查看一下默认的效果 此时网站还是只能本地看到,默认主题是landscape。

部署到GitHub上

首先你要有一个GitHub账号,这个很简单,如果没有,去注册一个就好。

创建一个repository

repository 相当于一个仓库,用来放置自己的网站的文件,登录进 GitHub 页面 选择 repositories 然后 创建一个新的 repository 这个时候很简单,写一个Repository 名字,名字格式是重点 必须是 yourname.github.io 比如 tom.github.io 我的是 asroads.github.io。

发布网站到GitHub远程

此时需要修改一下本地(/Users/hoolai/jsroads/myblog)的一个“_config.yml”记得一点 hexo 配置中 任何“:”后面都是带空格的。

1
2
3
4
deploy:
type: git
repository: https://github.com/asroads/asroads.github.io.git
branch: master

如果你是第一次使用GitHub部署,还需要配置 SSH文件,另外如果已经配置了,或者多个账号用一台机器需要另行处理。以后这个详谈。首先我们需要检查一下本地有没有 SSH keys 。

1
ssh-keygen -t rsa -C "asroads@163.com"

然后用指令添加

1
eval `ssh-agent -s`
1
ssh-add

到了这里基本就搞定了,这个时候需要复制 key 到 github 上面 测试一下 输入以下指令

1
ssh -T git@github.com

这个时候 会看到输出警告,输入 “yes”

此时 还需要安装 一个 hexo-deployer-git

1
npm install hexo-deployer-git --save

做完上面这些就表示已经搞定了。执行下面的命令,部署到github 上面吧

1
hexo generate
1
hexo deploy

最后打开你的网站博客查看效果吧。我的是 asroads.github.io

后记

在成功发布之后,禁不住内心一点小小的喜悦,学习过程中间经历了各种挫折、问题、报错、沮丧,经过辗转各大论坛终于得以解决,以后有空了,会慢慢的把自己所学所感写写出来。

十多年前(2007)入行的时候,回忆起学校老师在课堂上曾说,做技术的人,要有一个自己的门面(技术博客),这个是自己的一份“自我经营”,先后在新浪、网易博客、CSDN开了博客,由于后期的工作繁忙,奔波,懒散懈怠,大都虎头蛇尾,偶尔去打开想写点什么的时候,总感觉自己学的知识过于零碎,繁琐,整理起来过于麻烦,很多问题网上已经很多人都给出最好的答案,图文并茂的解答。再去造几个轮子,显得冗余了些。这篇文章也参考了网上许多优秀人的博客和解答,在此,衷心的谢谢他们,好人一生平安!

参考文档

使用hexo搭建GitHub博客

麦田守望者

Git 最著名报错 “ERROR: Permission to XXX.git denied to user”终极解决方案

Xcode中Command Line Tools安装方法

个性化图标生成网站

HEXO主题配置网站