ubuntu+hexo搭建github博客

本来博客是使用阿里云的虚拟主机通过typecho搭建的,不过后来担心域名和主机到期的续费问题(还是穷学生),所以决定专向github

经过多方面的比较,最终决定使用hexo来生成静态页面。现在主要介绍一下在ubuntu先如何进行配置和部署。

安装nodejs

首先安装nodejs。有两个方法可以进行安装。

apt-get安装

一个是通过ubuntu自带的包管理进行安装。不过它自带的版本可能过低,所以需要添加源:

1
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

同时安装所需要的依赖即可。

nvm安装

据说这个是官方推荐的安装方法。首先你要有shell下的下载工具curl或者wget
然后安装nvm,下面两天命令二选一即可。

1
curl https://raw.github.com/creationix/nvm/master/install.sh | sh  
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

等待nvm安装之后,然后安装nodejs,可以通过nvm ls查看版本。

1
nvm install 0.10

安装hexo

安装完nodejs后就要安装hexo了。首先全局安装:

1
npm install -g hexo

安装完后就可以进行部署写作了。
首先创建一个hexo博客

1
hexo init blog_name

如果这里报错node command not found,那就创建一个nodejsnode的软链接:

1
sudo ln -s /usr/bin/nodejs /usr/bin/node

貌似现在hexo-serverhexo分离了,所以还要再装hexo-server

1
sudo npm install hexo-server --save

创建好博客后,就可以生成博客:

1
hexo g

然后启动服务(debug可以不用加):

1
hexo s [--debug]

然后就可以在4000端口看到我们的页面了。
关于如何创建一个新页面(post是页面类型,你自己创建的,可以不填):

1
hexo new [post] page_name

然后你就可以在source/_posts目录下看到你的md文件,只要编写好这个md文件再次运行hexo g便可生成静态页面。

上传到github

在github首先创建一个仓库,username.github.io,请严格使用这样的命名。然后复制仓库地址,打开博客的根目录下的_config.yml文件,在deploy那里进行填写

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

然后运行:

1
hexo d

输入github账号和密码(只有第一次需要)。然后就完成了部署。