0%

Hexo更新到3后很多设置都变更了,网上大多数教程都是面向Hexo2的, 自己在建立blog的时候遇到了一些问题,现在记录下来

Hexo安装前置条件

这部分不详述, 都是通用的, 有很多教程可以参考

  • git安装
    • For Windows
      Download & install msysgit.
    • For Linux
      • Ubuntu,Debian: sudo apt-get install git-core
      • Fedora,Red Hat, CentOS: sudo yum install git-core
    • For mac
      Homebrew/MacPorts/Installer安装
  • Node.js安装

Hexo安装

前置准备完成后

1
$ npm install -g hexo-cli

在OS X上面安装完毕之运行hexo时可能会提示这样的错误:

1
2
3
[SyntaxError: Unexpected token ILLEGAL]
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

安装时,可以用npm install hexo --no-optional来解决

详情参见issues1055

在Hexo3中,hexo-server独立出来了,如要本地调试,需要先安装

1
$ npm install hexo-server --save

其余独立出来的还包括下面这些,特别是hexo-deployer-git这个模块,不安装的话后面在运行hexo deploy时会提示找不到git,参见这个issues1040.

详细的Hexo2to3信息

1
2
3
4
5
6
7
8
9
10
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-renderer-marked@0.2 --save
npm install hexo-renderer-stylus@0.2 --save
npm install hexo-generator-feed@1 --save
npm install hexo-generator-sitemap@1 --save

可以到\node_modules目录下面看自己是不是已经安装了这些模块.

如果已经执行过后面这个步骤了,那么进入hexo所在的文件夹,来安装缺失的模块,如下:

1
2
$ cd <hexo_folder>
$ npm install <module_2bInstalled> --save

Hexo部署

  • 安装完成之后运行如下命令

    1
    2
    3
    $ hexo init <folder>
    $ cd <folder>
    $ npm install

若npm install 安装过程卡住不动
修改 npm 的安装目录下的 npmrc文件 增加一条 registry=http://registry.cnpmjs.org

1
$ npm config set registry http://registry.cnpmjs.org
  • 生成静态文档

    1
    $ hexo generate
  • 开启本地server调试

    1
    $ hexo server

打开localhost:4000则可以在本地看到生成的页面

  • 上传到Github
    在config.yml文件中配置好deploy参数:

    1
    2
    3
    deploy:
    type: git
    repo: <repository>
  • 然后执行

    1
    $ hexo deploy

编写博客

编写博客比较简单,教程很容易找,官方文档见hexo写作.
下面聊聊如何实现多处来同步编辑博客,主要有如下几个方案

  • VPS

    VPS方案需要一台VPS主机,在上面配置好Hexo所需要的环境,SSH到主机编辑同步即可

  • 云coding环境

    比较有名的有Koding,Cloud9.该方案类似于主机,好处是可以直接在线编辑,koding平台在国内貌似被墙.
    参见koding非教程贴

  • github管理

    直接用把Blog所在的文件夹当成一个git库来同步,好处是有git就行了,但是在想要编辑blog的机器上都要配置Hexo所需的环境,几个需要注意的事项参见issues752:

    • 如果主题是通过git管理的,需要将主题文件夹下的.git文件夹删除,才能同步Blog文件夹(.git文件夹是隐藏的,需要显示隐藏文件才能删除,Linux下需要rm -rf命令才能删除,Mac没用过,不清楚)。
    • 按照Blog目录下自带的.gitignore文件,node_modules文件夹是不会同步的,所以同步之后需要自己再次进行npm install,但是注意,不要进行hexo init了,否则_config.yml全都白弄了。

更换主题

hexo可用主题列表
其中pacmanJacman个人比较喜欢,但是pacman目前还不支持Hexo3,代码高亮会有问题.

更新方法如下:

  • 执行如下命令

    1
    git clone https://<git/repository> themes/<themename>
  • _config.yml文件中的theme字段设置为与 <themename>一致

  • 更新主题
    可以通过根目录_config.yml文件中theme_config参数来设置主体的参数,这样可以避免更新主题的时候覆盖掉个性设置的部分

    更新前要记得备份themes/<themename> 目录下的_config.yml

    1
    2
    cd themes/<themename>
    git pull

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment