Hexo文件结构
Hexo的md文件
Hexo博客是用markdown格式,不一样的是文件顶部多了一个头部信息如
---
title: Hexo 添加分类及标签
date: 2019-04-24 15:40:24
categories:
- 大前端
tags:
- 博客
---
blog文件目录
|-- _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
本意是 “脚手架” 的意思,这里引申为模板文件夹,包含page
,post
,draft
三种模板,分别对应 页面、要发布的文章、草稿。当你 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。
了解了这三个文件夹的关系,也就了解为什么自定义域名需要添加的 CNAME 文件要在 public 文件夹下创建了。