hexo+github搭建博客
hexo+github搭建博客总的来说还是比较简单,使用Markdown写博客也很简单,Markdown里的表格属性不好调整,还是留在博客园吧。网上教程很多,简要记录搭建过程,方便以后使用。
一、本机上的准备工作
1、安装git、配置ssh-key
2、安装node.js
3、安装hexo。
$npm install -g hexo #全局安装hexo
二、 github上的准备工作
新建一个名称为 账户名.github.io 的仓库,hexo生成的网页文件将被放在这里。例如我的github账户名为cnstalker,则我新建了一个cnstalker.github.io的仓库。
使用github搭建的博客允许绑定自己已有的域名,首先对域名进行解析,在cnstalker.github.io仓库设置中的Custom domain也需要对应设置上该域名。
我在该处遇到了一个问题,每次上传使用hexo进行上传博客时,都需要重新设置仓库中的Custom domain,否则无法正确解析域名。解决方法:在hexo生成的目录下的source文件夹中新建一个CNAME文件,里面保存自己的域名。
三、新建博客
新建方法一
$hexo init MyBlog #新建一个博客,相关文件都存放在MyBlog这个文件夹中
新建方法二
$mkdir MyBlog
$cd MyBlog
$hexo init
此时hexo已经为我们下载好了构建博客需要的相关文件
执行如下指令
$hexo g #或者hexo generate,可以生成静态文件到public文件夹中
$hexo s #或者hexo server,启动服务
浏览器中打开 http://localhost:4000/ 可以浏览本地生成并启动的博客。当然都是一些默认内容、主题。
写博客
$hexo new "第一篇文章" #创建新的文章
MyBlog/source/_posts文件夹中将生成一个 第一篇文章.md 的文件,Markdown语法简单,稍微了解一下就可以开始写博客了。hexo会将其转化为静态网页。
上传到github之前还是本地预览一下吧。
$hexo g #或者hexo generate,可以生成静态文件到public文件夹中
$hexo s #或者hexo server,启动服务
四、上传github
首先,ssh_key肯定要配置好,ssh -T git@github.com 测试没有问题。
其次,配置_config.yml文件。
采用如下形式补全其中关于deploy的信息
deploy:
type: git
repository: git@github.com:cnstalker/cnstalker.github.io.git
branch: master
此时执行 hexo d 时会报如下错误:
Deployer not found: git
此时若按网上部分解决方案所说执行git init将会让整个MyBlog文件夹中的内容都上传到github,而非我们期望的只上传public文件夹中的内容。
因此上传前需要安装一个插件。
$npm install hexo-deployer-git --save
好了,现在可以进行上传了。
$hexo d #或者hexo deploy,将public文件夹中的内容部署到github中
待上传完毕之后,浏览器输入域名便能看到写好博客了。
五、释疑
1、tags页面无法显示
1) 新建名为tags的页面,命令如下:
$hexo new page "tags"
2) 打开tags.md文件,添加type: "tags"
title: tags
date: 2016-1-1 13:32:14
type: "tags"
注意:如果启用了多说或者Disqus评论,默认页面也会带有评论。需要关闭的话,请添加字段 comments 并将值设置为 false,如:
title: tags
date: 2016-1-1 13:32:14
type: "tags"
comments: false