Hexo 结构解析

对Hexo 的配置文件夹进行分析。

总体结构

在hexo的主目录下有一下文件和文件夹:

1
2
3
4
5
6
7
8
9
10
11
├── _config.yml #站点配置文件
├── db.json #缓存文件
├── debug.log #hexo s --debug 产生的日志文件
├── node_modules #nodejs 本地包
├── package.json #nodejs 本地配置信息
├── public #生成的静态文件所在的文件夹
├── scaffolds #新生成page的模板
├── source #文章所在文件夹
└── themes #主题所在文件夹
5 directories, 4 files

主题文件结构

一个主题的大致结构如下

1
2
3
4
5
6
.
├── _config.yml # 主题配置文件
├── languages #语言文件夹
├── layout # 布局文件夹。用于存放主题的模板文件,决定了网站内容的呈现方式
├── scripts # 脚本文件夹
└── source # 资源文件夹,除了模板以外的 Asset,例如 CSS、JavaScript 文件等,都应该放在这个文件夹中。

layout

布局文件夹。用于存放主题的模板文件,决定了网站内容的呈现方式。Hexo 默认使用的Swig模板引擎。使用语法和Jinja2、Django模板引擎类似。

文件或文件夹开头名称为 _(下划线线)或隐藏的文件会被忽略。

每个模板都默认使用 layout 布局,实际对应的文件是_layout.swig 文件。下面是各个页面所对应的模板的名称:

模板 用途 回调
index 首页
post 文章 index
page 分页 index
archive 归档 index
category 分类归档 archive
tag 标签归档 archive

局部模版(Partial)
局部模板让您在不同模板之间共享相同的组件,例如页首(Header)、页脚(Footer)或侧边栏(Sidebar)等,可利用局部模板功能分割为个别文件,让维护更加便利。

scripts

只需要把 JavaScript 文件放到 scripts 文件夹,在启动时就会自动载入。