Hexo目录结构

在执行hexo deploy命令之后,目录结构发生改变,新增了.deploy_gitpublic.gitignore

image-20230502221051993

node_modules 和 package.json

_config.yml:初始化时自动创建,用来配置博客相关的参数。具体参数值参照配置|Hexo

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 文件夹下创建了。

Hexo指令

(1)hexo ghexo generate

该命令执行后在hexo站点根目录下生成public文件夹

(2)hexo clean

把(1)中的public文件夹删除

(3)hexo shexo server

启动服务,默认地址为http://localhost:4000/,4000端口

(4)hexo dhexo deploy

部署站点,在本地生成.deploy_git文件夹,并将编译后的文件上传至 GitHub。

(5)hexo new [layout] [title]

例如: hexo new photo “my-first-blog”
上述指令执行时,Hexo 会尝试在 scaffolds 中寻找photo.md布局,若找到,则根据该布局新建文章;若未找到或指令中未指定该参数,则使用post.md新建文章。新建文章的名称在_config.yml中配置。

(6)删除文章

只需在本地把source/_posts文件夹下的文章源文件删除后,执行以下命令重新部署即可。

1
hexo clean && hexo g && hexo s 	// 一定要先 clean,防止灵异事件发生更换主题

(7)更换主题

1.下载主题

1
2
cd themes
git clone https://github.com/hexojs/hexo-theme-light.git ./light

2.使主题生效并上传github

找到博客目录下的配置文件 _config.yml, 找到Extensions模块,修改字段。

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: light

运行以下命令,使主题更新到博客

1
2
3
hexo clean 
hexo g
hexo d

VSCODE快捷键

Ctrl + `(Esc下面的那个):打开终端