我们在初始化我们的博客文件夹后会生成如下文件,这是hexo官方说明的。
1、在执行hexo init命令后_config.yml文件
网站的 配置 信息,您可以在此配置大部分的参数。
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文件夹下。
package.json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": ""
},
"dependencies": {
"hexo": "^3.8.0",
"hexo-generator-archive": "^0.1.5",
"hexo-generator-category": "^0.1.3",
"hexo-generator-index": "^0.2.1",
"hexo-generator-tag": "^0.2.0",
"hexo-renderer-ejs": "^0.3.1",
"hexo-renderer-stylus": "^0.3.3",
"hexo-renderer-marked": "^0.3.2",
"hexo-server": "^0.3.3"
}
}
scaffolds文件夹
模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。
Hexo的模板是指在新建的文章文件中默认填充的内容。例如,如果您修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。
source文件夹
source:资源文件夹。资源文件夹是存放用户资源的地方(放图片、Markdown文档、文章、草稿、各种页面等)。除_posts
文件夹之外,开头命名为 _ (下划线)的文件
/ 文件夹
和隐藏的文件
将会被忽略。Markdown
和HTML
文件会被解析并放到public
文件夹,而其他文件会被拷贝过去。
- 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
themes文件夹
主题文件夹。Hexo会根据主题来生成静态页面。
2、执行hexo generate命令后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
。
了解了这三个文件夹的关系,也就了解为什么自定义域名需要添加的 CNAME
文件要在 public 文件夹下创建了。
执行hexo clean
执行hexo d
后,生成了db.json
文件和public
文件。
执行hexo d
后,生成.deploy_git
文件夹,这个文件夹就是我们部署到github或者gitee上面的文件。