1.创建文章模版
1.1 文章模版
为了新建文章方便,我们可以修改一下文章模板,建议将/scaffolds/post.md修改为如下代码:
---
title: {{ title }}
date: {{ date }}
author:
img:
coverImg:
top: false
cover: false
toc: true
mathjax: false
password:
summary:
tags:
categories:
---
这样新建文章后 一些Front-matter参数不用你自己补充了,修改对应信息就可以了
1.2 Front-matter
Front-matter 选项中的所有内容均为非必填的。但仍然建议至少填写 title 和 date 的值
| 配置选项 | 默认值 | 描述 |
|---|---|---|
| title | Markdown的文件标题 | 文章标题 |
| date | 文件创建时的日期时间 | 发布时间 |
| author | 根 _config.yml 中的 author |
文章作者 |
| img | featureImages 中的某个值 |
文章特征图 |
| top | true |
推荐文章(文章是否置顶),如果 top 值为 true,则会作为首页推荐文章 |
| cover | false |
表示该文章是否需要加入到首页轮播封面中 |
| coverImg | 无 | 表示该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片 |
| password | 无 | 文章阅读密码,如果要对文章设置阅读验证密码的话,就可以设置 password 的值,该值必须是用 SHA256 加密后的密码,防止被他人识破。前提是在主题的 config.yml 中激活了 verifyPassword 选项 |
| toc | true |
是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。前提是在主题的 config.yml 中激活了 toc 选项 |
| mathjax | false |
是否开启数学公式支持 ,本文章是否开启 mathjax,且需要在主题的 _config.yml 文件中也需要开启才行 |
| summary | 无 | 文章摘要,自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要 |
| categories | 无 | 文章分类,本主题的分类表示宏观上大的分类,只建议一篇文章一个分类 |
| tags | 无 | 文章标签,一篇文章可以多个标签 |
注意:
- 如果
img属性不填写的话,文章特色图会根据文章标题的hashcode的值取余,然后选取主题中对应的特色图片,从而达到让所有文章都的特色图各有特色。date的值尽量保证每篇文章是唯一的,因为本主题中Gitalk和Gitment识别id是通过date的值来作为唯一标识的。- 如果要对文章设置阅读验证密码的功能,不仅要在
Front-matter中设置采用了SHA256加密的password的值,还需要在主题的_config.yml中激活了配置。有些在线的SHA256加密的地址,可供使用:开源中国在线工具、chahuo、站长工具。
2.创建文章
2.1 直接创建
可以通过以下命令创建文章,该文件所在目录为 _posts/xxxx.md
$ hexo new xxxx.md
2.2 按分类创建文章
直接通过 hexo new post xxxx.md 来创建的文章,所有都在 _posts目录下,这样很不好归类查找,如果想在 _posts 目录下创建子目录分类文章的话,可通过下面方式创建
$ hexo new post -p 目录1/目录2/.../文章.md
3.文章技巧
3.1 文章添加图片
3.1.1 本地引用
- 绝对路径
当 Hexo 项目中只用到少量图片时,可以将图片统一放在source/images文件夹中,通过markdown语法访问它们 - 相对路径
直接放在文章自己的目录中,需要将hexo根目录下的_config.yml配置文件中的post_asset_folder设为true,然后执行:
此时再执行命令$ cnpm install hexo-asset-imagehexo n article_name创建新的文章,在source/_posts中会生成文章post_name.md和同名文件夹post_name,我们文章中所使用到的图片资源均放在post_name中,这时就可以在文章中使用相对路径引用图片资源了: //文章中的图片资源路径格式3.1.2 CDN
将图片上传到一些免费的CDN服务中。比如Cloudinary提供的图片CDN服务,在Cloudinary中上传图片后,会生成对应的url地址,将地址直接拿来引用即可。
3.2 生成永久文章链接
hexo博客文章链接默认的生成规则是::year/:month/:day/:title,是按照年、月、日、标题来生成的。比如:
这样,如果文章标题是中文的话,URL链接是也会是中文。而且跳转站内文章填写链接的时候也不方便,修改文章标题后url就变了,以前的文章地址变成了404,就很不灵活,容易出错,所以生成唯一不变的URL链接很有必要。
3.2.1 安装 hexo-abbrlink 插件
安装命令:
npm install hexo-abbrlink --save
3.2.2 配置
修改根目录配置文件 config.yml,改为:
# permalink: :year/:month/:day/:title/
permalink: posts/:abbrlink.html #此处可以自己设置,最终链接格式为:https://博客站点/permalink
abbrlink:
alg: crc32 #算法: crc16(default) and crc32
rep: hex #进制: dec(default) and hex
生成完后,原 md文件 的 Front-matter 内会增加 abbrlink 字段,值为生成的ID。这个字段确保了在我们修改了博客标题title或创建日期date字段之后而不会改变链接地址。