文件添加
新建文章
生成一篇新的文章
$ 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