简单认识Hexo的目录结构

季銮西

在部署成功之后,我尝试了十几种主题,最终决定使用Even。在不断替换主题的过程中,我渐渐对Hexo的目录结构有了一些清晰的认识。

本文将简单介绍Hexo的目录结构。

deploy后的目录结构

在执行过Hexo deploy命令之后,目录结构有所变化,新增了.deploy_gitpublic.gitignore

hexo deploy 前后的目录变化

_config.yml

初始化时自动创建。

用来配置博客相关的参数。具体参数设置,参照配置|Hexo

node_modules 和 package.json

都是在初始化时自动创建。

node_modules用来存储已安装的各类依赖包。
package.json用来查看Hexo的版本以及相关依赖包的版本。

Hexo会默认安装:

  • hexo:主程序
  • hexo-deployer-git:实现git部署方式
  • hexo-generator-archive:存档页面生成器
  • hexo-generator-category:分类页面生成器
  • hexo-generator-index:index生成器
  • hexo-generator-tag:标签页面生成器
  • hexo-renderer-ejs:支持EJS渲染
  • hexo-renderer-marked:Markdown引擎
  • hexo-renderer-stylus:支持stylus渲染
  • hexo-server:支持本地预览,默认地址 localhost:4000

在使用过程中,尤其是更换主题时,需要安装其它的依赖包。比如:

  • hexo-renderer-scss:支持scss渲染。Even主题需要安装此依赖包。

新安装的依赖包,也会保存在node_module文件夹下。

scaffold

初始化时自动创建。

模板文件夹。包含pagepostdraft三种模板,分别对应 页面、要发布的文章、草稿。

themes

初始化时自动创建。

主题文件夹。每一个主题,都有一个单独的文件夹。默认主题为landscape

这里值得注意的是,Hexo配置文件中的language**参数**的值,取决于每个主题文件夹(如landscape)下的language**文件夹**里的文件名。

source , public 和 .deploy_git

  • source:资源文件夹。用来存放图片、Markdown文档(文章、草稿)、各种页面(分类、关于页面等)。
  • public:将source文件夹里的Markdown文档,转换成index.html。再结合主题进行渲染,就是我们最终看到的博客。
  • .deploy_git:将public文件夹的内容提交到Github后生成,内容与public文件夹基本一致。

这三者的关系大致是:source -> public -> .deploy_git

执行hexo generate,根据source,更新 public。
执行hexo deploy,根据public,更新 .deploy_git。

了解了这三个文件夹的关系,也就了解为什么自定义域名需要添加的 CNAME 文件要在 public 文件夹下创建了。

参考文档

  1. Hexo中文文档
  2. hexo目录结构小探
阅读 2.6k

毕业于淮海工学院网络工程系。

257 声望
3 粉丝
0 条评论

毕业于淮海工学院网络工程系。

257 声望
3 粉丝
宣传栏