1. 新建文章
hexo new [layout] title # 或 hexo n [layout] title
创建文章前要先选定模板,在hexo中也叫做布局。hexo支持三种布局(layout):post(默认)、draft、page。我们先介绍如何使用已有布局,后面还将会介绍如何自定义布局。
在博客目录下输入以下命令时,会默认使用 post 布局,然后自动在 source\_posts
目录生成一个text1.md 文件:
hexo n text1
当然你还可以指定布局:
hexo n [layout_name] draft1
该命令创建了一个使用特定布局的名为draft1的文章。
打开之前创建的 text1.md 文件,我们可以看到文章开头包含以下内容:
---
title: text1
date: 2020-04-10 04:13:36
tags: hexo
categories: blog
---
你显示的内容可能未必与我一样,不必担心,这是由于我自定义过。只需要知道,上面的内容在hexo被称作Front-matter,实际上就是该文章的一些变量,用于实现一些特定的功能。
如何自定义布局呢?实际上,布局是一个markdown文件,它们保存在scaffolds/目录下,可以看到hexo自带的三种布局其实就是三个.md文件:
所有的文章都是放在主目录下source文件下的_posts目录下的,这里参考我的存放目录 D:\Blog\source\_posts
这里作出两点说明:
该目录下可以再创建目录,系统可以识别到多层文件夹中的文章,方便分类;如果用命令生成的新文章一定是在_posts主目录下
我用 VSCode 写 MarkDown,非常好用,点开创建的文件,先看看里面有啥
---
title: 第一篇文章
date: 2023-06-08 10:30:00
---
两个虚线之间的内容就是叫 Front-matter,主要是你文章的配置,具体配置如下,这里不同主题不一样,我以 Next 主题为例。
Front-matter 选项中的所有内容均为非必填的。但我仍然建议至少填写 title 和 date 的值。以下是预先定义的参数,您可在模板中使用这些参数值并加以利用。
参数 | 描述 | 默认值 |
---|---|---|
layout |
布局 | config.default_layout |
title |
标题 | 文章的文件名 |
date |
建立日期 | 文件建立日期 |
updated |
更新日期 | 文件更新日期 |
comments |
开启文章的评论功能 | true |
tags |
标签(不适用于分页) | |
categories |
分类(不适用于分页) | |
permalink |
覆盖文章的永久链接,永久链接应该以 / 或 .html 结尾 |
null |
excerpt |
纯文本的页面摘要。使用 该插件 来格式化文本 | |
disableNunjucks |
启用时禁用 Nunjucks 标签 {{ }} /{% %} 和 标签插件 的渲染功能 |
false |
lang |
设置语言以覆盖 自动检测 | 继承自 _config.yml |
以下为文章的 Front-matter 示例。
---
title: 第一篇文章
date: 2023-06-08 10:30:00
img: /source/images/xxx.jpg
top: true
cover: true
coverImg: /images/1.jpg
password: ********************************
mathjax: false
description: 这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,也可以使用 <!--more--> 强制截断
categories: Markdown
tags:
- VSCode
- Markdown
---
你会发现,每次 hexo n
的时候 Front-matter 中内容少的可怜,那怎么修改默认的格式呢?只要去主目录下找到 scaffolds 文件夹下找到一个 post.md 文件修改即可,这里是我的目录D:\Blog\scaffolds\post.md
,例如我的
---
title: {{ title }}
date: {{ date }}
author: Carpe Diem
# 标签
tags:
# 分类
categories:
# 简述
description:
# 使用自定义封面
img:
# 是否置顶true,或者去掉
top: false
# 轮播
cover:
# 轮播图
coverImg:
---
方法一:写概述
在文章的 front-matter
中添加 description
,其中 description
中的内容就会被显示在首页上,其余一律不显示。
---
title: 让首页显示部分内容
date: 2020-02-23 22:55:10
description: 这是显示在首页的概述,正文内容均会被隐藏。
---
比较不方便的是还得写一下概述,很多时候会懒得写概述,于是就需要第二种方法了。
方法二:文章截断
在需要截断的地方加入:
首页就会显示这条以上的所有内容,隐藏接下来的所有内容。
这个明显就方便很多,但当然有利有弊,比如开头都是废话首页看着就不是很好看,因此我一般会先选择方法二,如果感觉文章前面的写的不太好再用方法一。