看了很多博客,最后发现官方文档才是最可靠的!谨记!
本文只是自己尝试过程的记录,并非全部搭建方法。
< 假设 git 已安装,Github 已注册 >

搭建环境:
os: Ubuntu 14.04.3 LTS
node: 4.2.2
hexo: 3.1.1
hexo theme: NexT
git: 1.9.1


Step 1 安装 Node.js

  • 官网下载系统对应的源码
  • 依次执行以下命令解压编译安装
    1
    2
    3
    tar -xzvf node-v4.2.2.tar.gz
    make
    sudo make install

Step 2 安装 Hexo

  • 执行以下命令
    1
    npm install -g hexo

Step 3 搭建本地博客

  • 初始化一枚目录存放博客, 进入

    1
    2
    hexo init blog
    cd blog
  • 执行

    1
    npm install

此时一个默认主题默认配置的 Hexo 博客就搭建完成了

  • 安装 Hexo 关于启动服务器的插件

    1
    npm install hexo-server --save
  • 启动服务器, 本地查看效果, 如果不指定端口,默认为4000

    1
    hexo server
  • 打开 http://localhost:4000 查看效果

  • 使用 Ctrl+c 停止服务

Step 4 主题和配置

https://hexo.io/themes/ 选择某个喜欢的主题,以 NexT 为例,假设当前目录为 “blog”。

  • 前往NexT主题发布页面下载主题的压缩包
    (这是 Next 的稳定版本,我试用了最新版本,有一些问题故转为稳定版本)
  • 解压并将目录更名为next
  • 将 next 移动至 blog/themes/ 目录下
  • 将 blog 目录下的 _config.yml 文件中的 theme 属性值改为 next
  • 此时主题更换成功,可启动 server 验证效果
  • 对于 _config.yml 中的其他属性可根据情况自行修改,基本的有
    1
    2
    3
    4
    5
    title: 网站大标题
    subtitle: 网站小标题
    description: 你对于自己的描述
    author: 昵称
    avatar: 头像 (如:/images/avatar.jpg, images目录位于source目录下)

Step 5 Github 的操作

  • 新建仓库名为 github用户名.github.io
    进入仓库,点击右侧 settings,在 Github Pages 标签下可看到 Your site is published at http://你的用户名.github.io. 这句话。 这时便可直接访问,如我的就是 kiya-z.github.io.

Step 6 将博客部署到Github

  • 安装 hexo 关于 git 的组件

    1
    npm install hexo-deployer-git --save
  • 在_config.yml 中为 git 添加配置

    1
    2
    3
    4
    deploy:
    type: git
    repository: 你的仓库地址(https://github.com/用户名/用户名.github.io.git)
    branch: master
  • 执行(每次修改都要执行这些命令才能在github pages看到效果)

    1
    2
    hexo generate
    hexo deploy

输入 github 的用户名和密码,部署完成之后访问你的如 kiya-z.github.io 的网址即可看到和本地一样的效果。


Step 7 关于写博客

  • 新建博客

    1
    hexo new "文章名"
  • 使用编辑器写好文章后执行生成+部署(那两个~)

    1
    2
    hexo generate
    hexo deploy
  • 删除文章
    直接删掉 source/_post 下对应文章的文件,然后重新生成+部署即可。有时可能要多刷新几次才能看到效果。


Step 8 评论系统

  • 登录 http://duoshuo.com/ 点击我要安装,创建站点。站点地址是 Github Pages 的地址,多说域名自己填写。
  • 由于 NexT 主题已经支持了多说,我们不需要添加其他代码,只需要在 _config.yml 中添加一个名为 duoshuo_shortname 的字段,其值为多说域名中自己填写的那部分,并不是全部多说域名。

结语:欢迎指正交流。Aha~