文件添加
新建文章
生成一篇新的文章
$ 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>
不同布局的作用:
- 指定生成文件的存储地址;
- 指定生成文件使用的脚手架模板
| 布局 | 保存路径 |
|---|---|
| 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