2016年最新的hexo教程搭建免费个人博客

2016年最新的hexo教程帮助搭建基于github和coding的免费个人博客。介绍hexo在Windows和linux上的安装步骤,实现hexo博客页面和URL的个性化定制,实现hexo中自定义页面和样式文件与URL的映射,配置hexo的分页功能和样式,提供windows下配置github ssh公钥实现免登陆提交的方法,部署hexo博客到coding平台实现hexo静态博客对百度的收录!

我这篇文章主要是总结了几个新遇到的问题:

(1) Linux下安装安装nvm

1
2
3
4
# 使用curl
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
# 使用wget安装
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

如果上述命令没法安装,可以直接打开这个url: https://raw.github.com/creationix/nvm/master/install.sh,复制页面中的所有内容保存为inistall.sh文件,然后在终端执行以下命令

1
$ sh install.sh

(2) Windows上使用Hexo deploy提交到github上时报”Error: spawn ENOENT”

这是git环境变量设置的问题,解决方法就是不要在cmd上执行hexo deploy命令,而是安装git后在git bash的命令行中执行hexo deploy
参考博客:http://zhenghongen.cn/2013/07/09/hexo-deploy-throw-error/

(3) 创建菜单项,实现url映射

参见我的这篇博文:hexo实现自定义url与对应页面的主题文件的映射

(4) 分页

分页样式可以使用hexo提供的paginator函数:https://hexo.io/zh-cn/docs/helpers.html

通过设置mid_size、end_size等参数来调节分页的各种样式。

本博客使用的分页样式代码如下:

1
2
3
4
5
6
7
8
9
10
11
<% if (page.prev || page.next) { %>
<nav class="pagination">
<%- paginator({
prev_text: '<i class="fa fa-angle-left"></i>',
next_text: '<i class="fa fa-angle-right"></i>',
mid_size: 2,
end_size: 3
})
%>
</nav>
<% } %>

实现的效果如下:

hexo pagination

(5) 安装git插件,使用ssh提交到github

hexo3.0以后的版本提交到github时,需要先安装hexo-deployer-git

1
$ npm install hexo-deployer-git save

然后再配置_config.yml文件

1
2
3
4
deploy:
type: git
repo: ssh://github.com/user-name/user-name.github.io #换成自己的用户名
branch: master

建议使用ssh的方法,因为使用https方法需要每次都输入用户名和密码,网上倒是有可以不用每次都输密码的方法,但是都是些明文保存密码在电脑本地的方法,不建议使用

(6) windows下配置github ssh 公钥实现免登陆提交

如果是通过ssh的方法提交到github,在window下可以通过以下方法配置SSH Key实现免登陆提交

  1. 从开始菜单中打开 “Git Bash”
  2. 在根目录输入命令:ssh-keygen -t rsa -C “email@email.com” 其中,”email@email.com”是你的github账号
  3. 提醒你输入key的名称,输入如id_rsa
  4. 在根目录下产生两个文件:id_rsa和id_rsa.pub
  5. 把4中生成的密钥文件复制到“根目录.ssh\” 目 录下。
  6. 复制id_rsa.pub文件的内容,在github.com的网站上,找到ssh密钥管理页面,添加5复制的新公钥

(7) 安装git插件,使用ssh提交到coding上

(2016年3月18日更新)

把博客迁移到github没几天就发现百度收录量下降到了0,一搜才知道,百度不收录github上的静态博客

所以最后把博客又转移到了coding上。

使用coding跟github差不多,也是建立一个与用户名相同的项目,把代码提交上去后,在“代码”一栏开启Pages服务,再绑定域名就可以了。

具体可参考文档https://coding.net/help/doc/pages/index.html

配置coding SSH公钥可以看这里的文档:https://coding.net/help/doc/git/ssh-key.html

若提交时出现权限问题,可以使用ssh-add命令添加公钥

附上我的域名解析情况:

hexo coding域名解析

这两篇文章详细讲解了hexo安装及遇到的各种问题解决办法,大家可参考。