Hexo文件结构

blog文件目录

1
2
3
4
5
6
7
8
|-- _config.yml  
|-- package.json
|-- scaffolds
|-- source
|-- _posts
|-- public
|-- themes
|-- .gitignore

_config.yml

网站的全局配置文件,设置包括网站标题、副标题、作者、关键字和描述信息等,参照配置|Hexo

node_modules

node_modules存储Hexo需要的其他node.js模块,以后安装的hexo相关模块也放在这里。框架的基本参数信息和它所依赖的插件,在 npm 安装时使用 –save 保存进去。

package.json

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

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

scaffold

本意是 “脚手架” 的意思,这里引申为模板文件夹,包含pagepostdraft三种模板,分别对应 页面、要发布的文章、草稿。当你 hexo new <layout(布局)> <title>的时候,Hexo 会根据该文件夹下的对应文件进行初始化构建。

themes

主题文件夹,存储主题。每一个主题,都有一个单独的文件夹。默认主题为landscape,其它主题可以在 Github 上免费下载使用。

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

source

source:资源文件夹。存储直接来自用户的文件, 用来存放图片、Markdown文档(文章、草稿)、各种页面(分类、关于页面等)。

  • source/_posts :默认source文件夹下只有一个_post文件夹,存放文章的markdown源文件,_posts 目录下的md文件,会被编译成 html 文件,放到 public 文件夹下。每个页面有一个以该页面命名的文件夹,也存放在source文件夹下。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
  • source/_discarded:删除的博客存放在这里。
  • source/categories: 分类文件夹,有index.md文件,由hexo new page categories生成。
  • source/tags: 由hexo new page tags生成的标签文件夹,内自动生成index.md

public

public文件夹是hexo g 编译生成静态文件后自动生成的。将source文件夹里的Markdown文档,转换成index.html。再结合主题进行渲染成我们最终看到的博客。
hexo clean会清除 db.json 和 public 文件夹下的所有文件。

deploy_git

.deploy_git:将public文件夹的内容提交到Github后生成,内容与public文件夹基本一致, 本人还没试过。

关系大致是:source -> public -> .deploy_git

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

-------------本文结束感谢您的阅读-------------