用Hexo在Github搭建博客

1. 环境准备

Git

官网下载并安装

Github账号

官网注册,然后参考这个步骤为自己的添加本机的ssh-key,用于免密码登录

Nodejs

官网下载并安装

Hexo

利用nodejs的npm安装(-g表示全局安装)

npm install -g hexo
  1. -g表示全局安装
  2. 若提示没有权限,则在命令前加上sudo

运行下命令看看当前Hexo的版本,我的是3.2.2如果版本和我的差异比较大的话,可能下面的步骤会不一样哦!

hexo v

2. 本地初始化

在本地的某个你中意的目录下运行命令,用来初始化目录

hexo init

安装依赖包

npm install

生成基础代码并在本地运行服务

hexo generate
hexo server

打开浏览器,输入localhost:4000,就能看到效果

3. 创建Github Page

Github page不是用来给你放代码的,它的概念就是一个静态网站,没有数据库,只有html+css+js(当然这个静态网站可以很动态,因为有了js嘛 LoL)

你要做的是在https://github.com/new上新增一个repo,repo的名字每个账号是固定的,为你的账号名+github.io,然后记录下你的repo地址,比如git@github.com:AaronGeist/AaronGeist.github.io.git。当然以https开头的也是一样的。

创建Github Page

4 配置Hexo

Hexo的配置文件是_config.yml,官方的配置文档说明在这里

细节可以稍后再看,这里需要做的是将本地的Hexo项目和刚才建立的Github Page关联起来。打开这个_config.yml,找到Deployment这里,修改成下面的样子:

deploy:
  type: git
  repo: #这里填你的repo地址,比如git@github.com:AaronGeist/AaronGeist.github.io.git
  branch: master
注意,hexo配置的语法是冒号后面要加一个空格,切记!

Hexo对git的支持还需要装一个插件,运行如下命令:

npm install hexo-deployer-git --save

5 创建文章

用命令创建文章

hexo new "我的标题"

屏幕上会提示在source/_post目录下创建了我的标题.md这个文件,打开它,用markdown语法在正文部分愉快地编辑吧。

注:#后面记得加空格,否则无效 =。=

写完之后,可以用命令预览文章

hexo server

6 部署到Github

执行命令

hexo generate
hexo deploy

提示中出现INFO Deploy done: git就表示成功了

另外,如果你想删除一些文章(比如默认的hello word那篇),只是删除_post目录下的文件是没用的,需要再执行这个命令清空缓存

hexo clean

然后执行部署即可

7 添加资源

一般博客都会有贴图的需求,Hexo的官方资源配置说明在这里。虽然不需要做什么额外的工作,但使用的标签却不是markdown的,比较遗憾。

另一种使用的比较多的方式是继续用插件hexo-asset-image

首先打开资源选项,将_config.yml中的post_asset_folder设置为true即可。

其次,当创建新的文章时,可以添加layout选项,在创建文章的同时自动创建一个文件夹,文件夹名称和文章名称相同。文章需要使用的图片都放在这个文件夹中。

最后,在文章中使用![logo](logo.png)来插入资源目录下的logo.png(是的,不用加目录名,当然加上也可以)

8 美化

主题

目前使用的Next主题,挺简洁的,官方网站在这里,步骤讲解的也非常详细

增加”关于”页面

在主题目录下(比如theme/next/)找到主题配置文件_config.yml,找到menu配置项,去除about前面的注释

menu:
  home: /
  #categories: /categories
  about: /about
  archives: /archives
  tags: /tags
  #commonweal: /404.html

使用命令 hexo new page aboutsource目录下新增about.md文件,内容自行编辑。

增加favicon图标

使用工具生成32x32大小的favicon.ico文件,放到source/images/目录下。

修改主题配置文件(比如theme/next/_config.yml)中的favicon配置,设置为images/favicon.ico(路径是从source开始的,所以不用加source)。

参考文章

  1. 手把手教你建github技术博客
  2. 在 hexo 中无痛使用本地图片