Hexo?我不懂, 我只知道是个台湾大学生Tommy的牛作。什么是静态博客?我不懂,我只知道我讨厌新浪博客、QQ空间这些花里胡哨、拓展性差的网站;但是我又没钱自己买域名做网站,也没那时间。平时整理的东西,总想记录在一个安静、简洁的角落,引用一位偶像的话

学会积累,是科研的第一步。

于是,我偶遇Hexo并爱上了它。

注册github账号及创建仓库

注册过程就不多说

建议使用英文小写作为你的ID, e.g. marscfeng

为博客创建一个仓库,Repository

注意仓库名称是固定的(Repository name)—— ID.github.io, e.g. marscfeng.github.io

安装Git

为了在本地建立项目并push到远程仓库中,我们需要在本地电脑上安装Git,OSX下推荐使用Homebrew来安装。

安装Homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装git

$ brew install git

安装Hexo

Hexo是基于Node.js,因此必须安装nodejs,然后用nodejs自带的npm安装hexo

安装node

$ brew install node

有时候网速会影响安装过程,建议直接Node官网下载安装。

安装Hexo

$ npm install -g hexo-cli

hexo的使用

网站搭建初始化

#新建一个网站,默认在当前文件夹建立网站
$ hexo init
#安装依赖关系
$ npm install

新建网页

# 默认新建posts,生成在source/_posts下
$ hexo n "title"

启动本地服务器

#生成静态网页文件
$ hexo g
#启动服务器
$ hexo s

初始化之后,在没有做任何修改操作之前,启动服务器,你就可以在本地浏览器欣赏你的原始博客框架,在浏览器输入localhost:4000就可以查看本地博客

发布网站

$ hexo d

在浏览器访问你的仓库就可以看看你的网站了,e.g. https://marscfeng.github.io

部署自己的网站

修改_config.yml文件,该文件控制着整个网站的框架、主题等属性

title: marscfeng's talk
subtitle: Idiot of Geophysics\ Linux\ Mac OSX
author: Feng Cheng
language: default #english/zh-CN/zh-TW
#...
theme: landscape-plus #landscape-plus是默认的landscape的升级版,本人更为喜欢
deploy:  
    type: github  
    repository: https://github.com/zippera/zippera.github.io.git  
    branch: master

其他部署,比如添加About me评论等模块,会在后文阐述

hexo常见问题

生成静态网页出错

$ hexo g
    Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND'

安装插件

$ npm install hexo --no-optional

发布网页出错

$ hexo d
    ERROR Deployer not found: git

因为hexo升级3.0需要安装插件

$ npm install hexo-deployer-git --save

mathjax公式无法渲染

$ npm install hexo-math --save

push时重复输入用户名密码

github提供了SSH方式进行本地和服务端的链接,但是据自己的尝试和网友反馈,该方法并不可行。 Permanently authenticating with Git repositories给出了两种方法来解决各平台下本地和git服务端链接验证的问题。

Using credential caching

Using the .netrc file

多数网友都是选择第二种,因为操作简单

$ vi ~/.netrc
# 输入服务端及用户名密码
machine github.com
login your-username
password your-password

多个server就重复上面的三行,分别输入对应的服务器、用户名和密码。