写在前面:
本文以个人记录为主,如有错漏,请留言指出

什么是Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

Hexo的安装

安装Hexo的前提有两个, 检查电脑中是否安装以下两个应用程序。

  • Node.js
  • Git

如果你已经安装了这两个应用程序, 那么恭喜你, 你可以直接用npm安装Hexo了。

Git安装

安装了Git的同学可以跳过此章节。

  • 用Windows的同学:下载并安装git

  • 土豪同学(Mac): 使用 Homebrew, MacPorts 或下载 安装程序 安装。

  • 用Linux(Ubuntu, Debian)的同学:

    1
    sudo apt-get install git-core
  • 用Linux (Fedora, Red Hat, CentOS)的同学:

    1
    sudo yum install git-core

Node.js安装

安装了Node.js的同学可以跳过此章节。
下面以Ubuntu为例(Windows太简单, Mac用不起)

官方文档说安装Node.js最佳方式是用nvm
curl:

1
curl https://raw.github.com/creationix/nvm/master/install.sh | sh

wget:

1
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

安装完成之后, 记得重启终端然后再执行下面的命令安装Node.js。

1
nvm install 4

当然你可以自己下载安装程序进行安装(Ubuntu的同学需要自己配置一下环境变量)

安装Hexo

装完上述两个应用程序之后,你现在就可以使用npm安装Hexo了。

1
npm install -g hexo-cli

建站

安装完Hexo之后, 你就可以建自己的博客了,直接执行下面的命令,Hexo就会在指定的文件夹下生成博客所需要的文件

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

Hexo文件目录的简单解析

命令执行完毕之后你会发现在指定文件夹下会有如下目录:

1
2
3
4
5
6
7
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

_config.yml:博客的配置文件
package.json:应用程序的信息
scaffolds:模板文件夹,新建文章时Hexo会根据scaffold来建立文件
source:资源文件夹,存放用户资源的地方。Markdown和HTML文件会被解析放到public文件夹中。
themes: 主题文件夹。

配置

-config.yml是Hexo博客系统的配置文件, 大部分配置在此配置文件中修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Hexo Configuration # 配置
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site # 网站
title: #网站标题
subtitle: #网站副标题
description: #网站描述
author: #网站作者
language: #网站使用的语言
timezone: #网站时区(默认使用你电脑的时区)

# URL # 网址
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: #网址
root: #网站根目录
permalink: :year/:month/:day/:title/ #文章的永久链接
permalink_defaults: #永久链接中各部分的默认值

# Directory # 目录
source_dir: source #资源文件夹, 用于存放内容
public_dir: public #公共文件夹,用于存放站点生成的站点文件
tag_dir: tags #标签文件夹
archive_dir: archives #归档文件夹
category_dir: categories #分类文件夹
code_dir: downloads/code #Include code文件夹
i18n_dir: lang #国际化(i18n)文件夹
skip_render: #跳过指定文件的渲染,可以使用[glob表达式](https://github.com/isaacs/node-glob)来匹配路径

# Writing # 文章
new_post_name: title.md # 新文章的文件名称
default_layout: post # 预设布局
titlecase: false # 把标题转换为title case
external_link: true # 在新标签中打开链接
filename_case: 0 # 把文件名称转换为(1)小写或(2)大写
render_drafts: false # 显示草稿
post_asset_folder: false # 启动Asset文件夹
relative_link: false # 把链接改为与根目录的相对地址
future: true # 显示未来的文章
highlight: # 代码块的设置
enable: true
line_number: true
auto_detect: false
tab_replace:

# Category & Tag # 分类 & 标签
default_category: uncategorized # 默认分类
category_map: # 分类别名
tag_map: # 标签别名

# Date / Time format # 日期/时间格式
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD # 日期格式
time_format: HH:mm:ss # 时间格式

# Pagination # 分页
## Set per_page to 0 to disable pagination
per_page: 10 # 每页显示的文章量(0 = 关闭分页功能)
pagination_dir: page # 分页目录

# Extensions # 扩展
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: indigo # 主题
plugins: # 插件
hexo-renderer-less

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy: # 部署
type: git # 类型
repo: weiyf@cloud.weiyf.cn:/website/blog.git # 仓库
branch: master # 分支

Hexo的一些常用指令

init

1
hexo init <folder>

新建一个网站, 如果没有设置folder, Hexo默认在当前文件夹创建网站

new

1
hexo new [layout] <title>

新建一篇文章, 如果没有设置layout,默认使用_config.yml中的default_layout参数代替, 如果标题包含空格, 则标题需要用双引号括起来。

generate

1
hexo generate

生成静态文件。

选项 描述
-d, –deploy 文件生成之后立即部署网站
-w, – watch 监视文件变动

publish

1
hexo publish [layout] <filename>

发表草稿

server

1
hexo server

启动服务器。 默认情况下访问的网址为:http://localhost:4000

选项 描述
-p, –port 重设端口
-s, –static 只使用静态文件
-l, –log 启动日志, 使用覆盖记录格式

deploy

1
hexo deploy

部署网站

参数 描述
-g, –generate 部署之前预先生成静态文件

render

1
hexo render <file1> [file2]

渲染文件

参数 描述
-o, –output 设置输出路径

migrate

1
hexo migrate <type>

从其他博客系统迁移内容

clean

1
hexo clean

清除缓存文件(db.json)和已生成的静态文件夹(public

list

1
hexo list <type>

列出网站资料

version

1
hexo version

显示Hexo版本

选项

  1. 安全模式
    1
    hexo --safe

在安全模式下, 不会载入插件和脚本。

  1. 调试模式
    1
    hexo --debug

在终端显示调试信息并记录到debug.log

  1. 简洁模式
    1
    hexo --silent

隐藏终端信息

  1. 自定义配置文件的路径
    1
    hexo --config custom.yml

自定义配置文件的路径。

  1. 显示草稿
    1
    hexo --draft

显示source/drafts文件夹中的草稿文章。

  1. 自定义CWD
    1
    hexo --cwd /path/to/cwd

自定义当前工作目录。

总结:

这篇文章主要简单介绍Hexo和简单配置以及使用, 下一篇博客将详细介绍一下博客的部署问题, 敬请关注。