# 前言:
这篇基于github的个人博客的搭建是查阅了网上各种资料,结合自己实际操作中遇到的各种坑而成。
参考链接:
>http://gonghonglou.com/2016/02/03/firstblog/
>http://www.jianshu.com/p/4eaddcbe4d12
# 1 创建Github域名和空间
## 1.1 Github账号
首先你要有一个[github](https://github.com/)的账号,没有的同学自觉排队去注册,没什么难度,一步一步来就行了。
## 1.2 创建仓库
接着我们需要创建一个仓库(repository) 来存储我们的网站,点击首页任意位置出现的 New repository按钮创建仓库, 记住你的username下面会用到。
![](http://ww2.sinaimg.cn/mw690/c4ed8378jw1f875repm8qj20r70hw77r.jpg)
# 2 安装
我这里使用[hexo](https://hexo.io/zh-cn/docs/index.html)作为我的博客框架,想了解更多的小伙伴可以自行google。安装hexo之前需要安装的工具包括Git,Nodejs,Hexo。
## 2.1 安装git
Xcode自带git,没安装的可以通过下载[安装程序](https://sourceforge.net/projects/git-osx-installer/)进行安装。
当然,还有以下方式:
// 如果已安装HomeBrew 无需执行此行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// 安装Git
brew install git
## 2.2 安装git
先安装nvm,这是Nodejs版本管理器,可以轻松切换Nodejs版本。 这里有两种方式安装。如果使用curl的方式安装,安装完成之后一定要重启终端。
1. Homebrew 安装方式,此安装方式无需重启
$ brew install nvm
$ mkdir ~/.nvm
$ export NVM_DIR=~/.nvm
$ . $(brew --prefix nvm)/nvm.sh
2. curl安装方式
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
安装完成后,重启终端 并执行下列命令即可安装 Node.js。
$ nvm install 4
**我在这里徘徊了好久,两种方式都安装不对,建议遇到同样问题的同学直接去[Node.js官网](https://nodejs.org/en/)下载一路安装即可**
## 2.3 安装Hexo
当Node.js和Git都安装好后就可以正式安装Hexo了,终端执行如下命令:
$ sudo npm install -g hexo
输入管理员密码(Mac登录密码)即开始安装 (sudo:linux系统管理指令 -g:全局安装)
注意坑一:Hexo官网上的安装命令是$ npm install -g hexo-cli,安装时不要忘记前面加上sudo,否则会因为权限问题报错。
### 2.3.1初始化
终端cd到一个你选定的目录,执行hexo init命令:
$ hexo init blog
blog是你建立的文件夹名称。cd到blog文件夹下,执行如下命令,安装npm:
$ npm install
执行如下命令,开启hexo服务器:
$ hexo s
此时,浏览器中打开网址'http://localhost:4000',能看到如下页面:![](http://ww1.sinaimg.cn/mw690/c4ed8378jw1f875rgelmzj21kw0w3120.jpg)
*此时本地设置已经基本完成了*
# 3 关联Github
本地的blog文件夹下内容为:
_config.yml
db.json
node_modules
package.json
scaffolds
source
themes
终端cd到blog文件夹下,vim打开_config.yml,命令如下:
$ vim _config.yml
打开后往下滑到最后,修改成下边的样子:
deploy:
type: git
repository: https://github.com/qiqiqimu/qiqiqimu.github.io.git
branch: master
你需要将repository后qiqiqimu换成你自己的用户名,地址如图。hexo 3.1.1版本后type:值为git。![](http://ww2.sinaimg.cn/mw690/c4ed8378jw1f875rhl12xj21350j2ag4.jpg)
注意坑二:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错,切记 切记
在blog文件夹目录下执行生成静态页面命令:
$ hexo generate 或者:hexo g
此时若出现如下报错:
ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'
则执行命令:
npm install hexo --save
若无报错,自行忽略此步骤。
再执行配置命令:
$ hexo deploy 或者:hexo d
注意坑三:若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令来安装hexo-deployer-git:
$ npm install hexo-deployer-git --save
再次执行hexo generate和hexo deploy命令。
若你未关联Github,则执行hexo deploy命令时终端会提示你输入Github的用户名和密码,即
Username for 'https://github.com':
Password for 'https://github.com':
hexo deploy命令执行成功后,浏览器中打开网址'http://qiqiqimu.github.io'(*将qiqiqimu换成你的用户名*)能看到和打开'http://localhost:4000'时一样的页面。
为避免每次输入Github用户名和密码的麻烦,可参照以下方法
# 4.添加ssh key到Github
## 4.1.检查SSH keys是否存在Github
执行如下命令,检查SSH keys是否存在。如果有文件id_rsa.pub或id_dsa.pub,则直接进入步骤1.3将SSH key添加到Github中,否则进入下一步生成SSH key。
$ ls -al ~/.ssh
## 4.2.生成新的ssh key
执行如下命令生成public/private rsa key pair,注意将your_email@example.com换成你自己注册Github的邮箱地址。
$ ssh-keygen -t rsa -C "your_email@example.com"
默认会在相应路径下(~/.ssh/id_rsa.pub)生成id_rsa和id_rsa.pub两个文件。
## 4.3.将ssh key添加到Github中
Find前往文件夹~/.ssh/id_rsa.pub打开id_rsa.pub文件,里面的信息即为SSH key,将这些信息复制到Github的Add SSH key页面即可。
进入Github –> Settings –> SSH keys –> add SSH key:
Title里任意添一个标题,将复制的内容粘贴到Key里,点击下方Add key绿色按钮即可。
# 5.发布文章
终端cd到blog文件夹下,执行如下命令新建文章:
hexo new "postName"
名为postName.md的文件会建在目录/blog/source/_posts下,postName是文件名,为方便链接不建议掺杂汉字。你当然可以用vim来编辑文章。我在用macdown编辑器,支持预览。刚开始用,还不熟练,但是感觉特别好用!
文章编辑完成后,终端cd到blog文件夹下,执行如下命令来发布:
hexo generate //生成静态页面
hexo deploy //将文章部署到Github
至此,Mac上搭建基于Github的Hexo博客就完成了。
# 后记:
**搭建这个博客和整理虽然花费了两天左右的时间,但是收获还是蛮大的,正好最近项目上也不太忙。留下下面的问题之后再做补充:**
*1.markdown语句的使用*
*2.更改博客[主题](https://hexo.io/themes/)和其他配置(https://hexo.io/zh-cn/docs/configuration.html)*
*3.自动部署发布工具(https://github.com/hexojs/hexo-deployer-git)*
*4.不基于github的个人域名的绑定*
*5.theme的安装*
ps:感兴趣的同学可以看看我的博客 https://hyf12138.github.io/