my first try of hexo+github

今天我学习了如何配置Hexo来写博客,并放到github上,但是我还不会markdown,自己还是好菜啊QAQ。

卸载之前安装不成功的hexo,npm和nodejs

卸载hexo

1
2
$ cd /usr/bin
$ npm uninstall hexo -g

卸载nodejs和npm

1
2
3
$ sudo apt-get remove nodejs
$ sudo apt-get remove node
$ sudo apt-get remove npm

可能会没用,我是运行了第一个就把都卸载了,但是不影响哈。

安装nvm

nvm是node的包版本控制工具,使用这个我装上了稳定版的hexo,之前我直接apt的hexo在运行 hexo s时会报错: ERROR Local hexo not found。

下载nvm

1
2
3
4
5
$ export NVM_DIR="$HOME/.nvm" && (
git clone https://github.com/creationix/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" origin`
) && . "$NVM_DIR/nvm.sh"

配置为nvm自启动

在 bash配置文件.bashrc中加入(maybe .zshrc):

1
2
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

使用nvm安装nodejs和npm

检测远程仓库

1
$ nvm ls-remote

安装稳定版本nodejs

1
$ nvm install stable

启动安装好的nodejs

1
$ nvm use node

设置为nodejs默认版本

1
$ nvm alias default node

安装hexo

使用npm安装hexo

1
$ npm install -g hexo

初始化hexo本地博客空间

1
2
3
4
$ mkdir GitBlog
$ cd GitBlog && hexo init
$ npm install
$ npm update -g

运行本地服务器查看博客

1
2
$ hexo g # 生成静态界面
$ hexo s # 开启本地服务

将博客在github上托管

配置本机全局git环境

假设github使用的邮箱是hehe@qq.com,github用户名是hehe:

1
2
$ git config -global user.email "hehe@qq.com"
$ git config -global user.name "hehe"

生成ssh秘钥

先检查一下之前有没有生成过ssh的key:

1
$ less ~/.ssh/id_rsa.pub

如果有的话会有输出,则不需要生成秘钥,如果没有执行指令:

1
$ ssh-keygen -t rsa -C hehe@qq.com

接着会提示输入文件夹位置来放置ssh秘钥,并会让你确认一个验证的密码,如果不需要可以回车跳过。
成功的话会在~/.ssh下生成ssh秘钥,即所谓的公钥id_rsa.pub和私钥id_rsa(RSA加密)。

在github创建博客工程

在github用户下新建一个仓库,按照上面的假设,那么我生成的这个仓库名应该是hehe@github.io。然后将之前生成的ssh秘钥添加到github上

在hexo中配置使用git部署博客

在站点的配置文件(博客根目录下的_config.yml)中配置你的git:

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

将本地文件上传到github上

本地修改好了,可以先在本地运行一下看一下效果:

1
$ hexo s

如果没什么问题,接下来将本地内容部署到github服务器上:

1
2
3
$ hexo clean
$ hexo g
$ hexo d

有的时候可能要清除一下浏览器的缓存才能显示更新后的内容,具体原因我也不知道。
部署完成后,可以直接在浏览器输入hehe@github.io就能看到部署完成的hexo blog了。