Skip to content

文件添加

新建文章

生成一篇新的文章

$ hexo new 'First Post'
INFO  Validating config
INFO  Created: ~/blogs/source/_posts/First-Post.md

生成的文件保存在source/_posts文件夹下,默认文件内容如下

---
title: First Post
date: 2021-03-10 20:30:32
tags:
---

通过模板添加了页面标题、时间以及标签

解析

布局

Hexo指定了3种布局:post(文章)、page(页面)和draft(草稿),可在_config.yml中修改默认布局

default_layout: post

默认使用post布局,完整的添加文件命令为

$ hexo new [layout] <title>

不同布局的作用:

  1. 指定生成文件的存储地址;
  2. 指定生成文件使用的脚手架模板
布局 保存路径
post source/_posts
draft source/_drafts
page 生成source/下的文件夹

脚手架模板

Hexo将不同布局的模板放置在scaffolds文件夹下,默认模板如下:

# post.md
---
title: {{ title }}
date: {{ date }}
tags:
---

# draft.md
---
title: {{ title }}
tags:
---

# page.md
---
title: {{ title }}
date: {{ date }}
---

默认模板文件中的键是Front-matter。 相对应的值可以指定三个占位符:

占位符 描述
layout 布局
title 标题
date 文件创建日期

文件名

hexo默认使用标题作为文件名,其中文章名(post name)可以修改

生成文章的文件名和_config.yml文件中的new_post_name属性有关

new_post_name: :title.md # File name of new posts

默认将输入标题作为文件名,还可以添加时间信息

占位符 描述
:title 页面标题 (小字母,空格用连字符代替)
:year 年,比如2019
:month 月,占两位,比如01
:i_month 月,占一位,比如1
:day 日,占两位,比如08
:i_day 日,占一位,比如8

比如,设置为

# Writing
new_post_name: :year-:month-:day-:title.md
# new_post_name: :title.md # File name of new posts

那么生成的文件名包含了时间信息和页面标题

$ hexo new "New Title"
INFO  Validating config
INFO  Created: ~/blogs/source/_posts/2021-03-10-New-Title.md

自定义脚手架模板

可以在scaffolds文件夹下自定义脚手架模板,比如新建文件image.md

---
title: {{ title }}
date: {{ date }}
layout: {{ layout }}
---

你好,image

_config.yml上的默认布局和文章命名如下:

new_post_name: :title.md # File name of new posts
default_layout: post

新建文件

$ hexo new image 'ImTest'
INFO  Validating config
INFO  Created: ~/blogs/source/_posts/2021-03-10-ImTest.md

ImTest.md内容如下:

---
title: ImTest
layout: image
date: 2021-03-10 22:01:45
---

你好,image

生成的文件使用了脚手架中的模板image.md,填充了相应的的标题、布局以及创建时间,同时将其放置在默认布局post的路径下

草稿

新建草稿文件

$ hexo new draft "Draft Test"
INFO  Validating config
INFO  Created: ~/blogs/source/_drafts/Draft-Test.md

其使用了draft.md模板,具体内容如下:

---
title: Draft Test
tags:
---

变更草稿属性

可以手动进行操作,也可以使用命令hexo publish实现:将草稿箱_drafts的文件发布到_posts文件夹

$ hexo publish draft Draft-Test
INFO  Validating config
INFO  Published: ~/blogs/source/_posts/2021-03-10-Draft-Test.md

完成发布后,会添加相应的日期信息(基于post.md模板):

---
title: Draft Test
date: 2021-03-10 22:05:24
tags:
--- 

发布草稿文件

默认情况下,服务器不会读取草稿箱内的文件,如果想要读取可以在_config.yml中修改属性

render_drafts: false

或者启动服务器时添加参数

hexo server --draft