在github上使用hexo搭建博客

前言

第一次萌生出写博客的想法还是大二那会,那时候技术还只是一般般,遂在博客园申请了一个帐号,P了张首页图,便开始了我的博客之旅。—— 短暂的第一个博客
到了大三下学期,PHP学得差不多了,心想作为一名未来的程序员,没有一个个人技术博客怎么行!找来wordpress在SEA上面搭建了个博客,七搞八搞,加了很多插件和特效,看起来很牛逼的样子,然而陆陆续续用了一年也不想写了。—— 难产的第二个博客

现在工作已有一年了,在工作之余,业余生活也渐渐丰富了起来,除了技术之外,总有一点生活感悟想写下来,但又苦于找不到写字的地方。直到有一天在知乎上看到有人说能在github上写博客,顿时惊为天人!一顿了解之下,立马拾起许久不用的github帐号,花了一天时间搭好了这个博客。Hexo给我的印象就是:简洁、快捷、符合程序员的操作风格。特别是还有一种跻身于世界大牛之间的错觉,~( ̄▽ ̄~)(~ ̄▽ ̄)~

使用Github

实际的操作其实并不用特别了解github,但是如果这样做的话很容易混乱,所以这里我做下简单的说明,详细的就见文章下方的参考资料吧。

在github上创建一个项目

登录后,在github首页,点击页面右下角“New Repository”

填写项目信息:

project name: demo-1

description : my first project

点击“Create Repository” ; 现在完成了一个项目在github上的创建。

我们创建的是一个github仓库,一个仓库里只能存放一个项目。

当你创建完成一个仓库的之后,github会给你一个提示(回头再看)

…or create a new repository on the command line
echo “# demo-1” >> README.md
git init
git add README.md
git commit -m “first commit”
git remote add origin git@github.com:youyusan/1212.git
git push -u origin master
…or push an existing repository from the command line
git remote add origin git@github.com:youyusan/demo-1.git
git push -u origin master
…or import code from another repository
You can initialize this repository with code from a Subversion, Mercurial, or TFS project.

安装git

略,不同环境下安装条件各不相同

创建密钥

进入密钥目录

1
cd ~/.ssh

生成密钥

1
2
3
4
5
ssh -keygen –t rsa –C “youremail@gmai.com”
```
查看生成的密钥
``` dos
vi id_rsa.pub

将文件内容复制到github的右上角的
Settings—>SSH keys —> Add SSH key
再在命令行中输入

1
2
3
4
5
6
7
8
ssh –T git@github.com
```
如果提示:Hi defnngj You’ve successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了。
### 设置用户信息
设置用户信息方便记录是谁提交的
``` dos
$ git config --global user.name "yourname"
$ git config --global user.email "youremail@gmail.com"

建立项目连接

提示:之前我们在github上创建了一个名叫 demo-1的项目,地址为:git@github.com:yourname/demo-1.git
在本地创建一个文件夹叫demo

1
mkdir demo

然后根据之前的教程就可以了

1
2
3
4
5
6
echo "# demo-1" >> README.md  	//创建一个remode.md的文件并写入# demo-1
git init //git初始化
git add README.md //向git里增加这个新文件
git commit -m "first commit" //提交并输入提交的内容
git remote add origin git@github.com:yourname/demo-1.git //第一次提交项目,确定本地和远程哪个项目建立链接
git push -u origin master //将本地项目提交上去

这样我就完成了项目的连接和第一个文件的提交

其他命令

  • git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
  • git remote -v //查看你当前项目远程连接的是哪个仓库地址。
  • git clone git@github.com:yourname/demo-1.git //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。
  • git fetch origin //取得远程更新,这里可以看做是准备要取了
  • git merge origin/master //把更新的内容合并到本地分支/master
  • git rm aaa/bbb.html //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。

  • git rm aaa/ccc/ -r // -r 会把ccc/目录下的所有内容一次性移动。

搭建Hexo

安装node.js

安装hexo

安装好node.js后执行如下命令安装hexo:

1
npm install -g hexo

初始化到制定目录

1
hexo init <folder>

也可以cd到目标目录,执行hexo init

然后它会提示你:
INFO You are almost done! Don’t forget to run ‘npm install’ before you start blogging with Hexo!
再输入

1
npm install

至此所有的hexo文件就全部下载到你指定的目录了!

搭建博客

首先在github创建一个新repository,名字按自己喜欢的来,比如 yourname.github.io

然后在之前安装好hexo目录下找到_config.yml,
修改deploy:为

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

执行以下命令:

1
2
3
npm install hexo-deployer-git --save //安装deploy
hexo generate //执行生成静态html文件
hexo deploy //上传静态文件到git上

打开http://yourname.github.io/ 便可以看到搭建好的博客了!

注意

  • 不要使用git命令上传,hexo把命令封装好了,只要执行那几个命令就可以了
  • 每次修改文章、配置后都要先编译成静态文件,再上传

    编写文章

    执行new命令,生成指定名称的文章到hexo\source_post\postname.md
    1
    hexo new "postname"

例:

1
2
3
4
5
6
title: postName #文章页面上的显示名称,可以任意修改,不会出现在URL
date: 2013-12-02 15:30:16 #文章生成时间,一般不改,当然也可以任意修改
categories: #文章分类目录,可以为空,注意:后面有个空格
tags: #文章标签,可空,多标签请用格式[tag1,tag2,tag3],注意:后面有个空格
---
这里开始使用markdown格式输入你的正文。

至于修改主题、配置域名等功能就不再详述了,可以参考其他人的文章

参考资料