创建新文章
根目录命令行输入hexo new <模板> <文章名>
新建文章
其中<模板>
在scaffolds
中,默认情况下有三个模板post
、draft
、page
参数 | 功能 | 路径 |
---|---|---|
post | 新建文章 | /source/_posts/ |
draft | 新建草稿 | /source/_drafts/ |
page | 新建页面(标签页,分类页等) | /source/ |
通常情况下使用hexo new post <title>
即可,注意这里的title
不是文章名,具体文章中显示的文章标题可以在文章文件中修改,例如:我这里新建一篇文章,title 为 article
命令行输入hexo new post article
此时在source/_posts/
文件夹中多了一个article.md
文件。打开可以看到如下内容:
[图片上传失败…(image-3f21de-1544088714291)]
文章内容中两条---
之间的内容为文章的配置内容,可以在其中设置标签、分类等。其中的title
为文章发布后文章页面显示的标题,例如我们修改一下 tittle 为:Hexo 博客文章发布
而.md
文件的名字,也就是我们新建文章时输入的名字,是作为文章页面链接中显示的名字,例如,本篇文章的文件名为:article.md
,文章内设置的文章标题为Hexo博客新建文章并发布
,那么本篇文章的链接就是https://www.lixint.me/article.html
文章模板
在新建文章中使用的post
参数,就是模板的名称,在使用hexo new post <文件名>
命令进行新建文章时,系统会自动在scaffolds
文件夹中搜寻名为post
的文件,根据其中的内容生成新的.md
文章文件。后续随着配置项的增多,可以自行设置不同类型的模板。例如本篇文章的模板如下:
[图片上传失败…(image-55e677-1544088714292)]
其中的title
跟data
会在生成文件时自动填写。利用此模板生成的文章文件,只需要进行对应项目的填写即可。例如本篇文章的配置信息如下:
[图片上传失败…(image-5cf46e-1544088714292)]
给文章添加分类和模板
通过对文件头部配置信息中tags
与categories
项的修改可以设置文章的标签及分类。
其中标签可以按格式贴现设置多个:
title: Hexo博客新建文章并发布
date: 2018-12-06 12:16:12
tags:
- Hexo
- Markdown
categories: 搭建博客
在博文中添加图片
目前有三种方法像博文中添加图片:
方法一
命令行输入npm install hexo-asset-image --save
安装插件
在根目录/source
目录下新建一个img
文件夹,将需要插入的图片放到里面
在文章中引用图片时图片使用格式[图片上传失败...(image-3a4109-1544088714292)]
进行引用图片。
方法二
在博客配置文件中搜索post_asset_folder
项,设置为true
[图片上传失败…(image-1a1aa7-1544088714292)]
这样在创建文章时会自动在文章.md
所在目录/source/_posts
文件夹内生成一个与文章同名的文件夹。例如新建文章hexo new post example
则会生成一个example.md
文件与一个名为example
的文件夹。
把 example 这个博文需要展示的图片放在 example 文件夹目录下;
文章内使用[% asset_img slug [title] %]
(将方括号][替换为花括号}{)的格式进行插入图片,例如我要插入一个名为1.jpg
的图片,标题设置为 celery,那么写文章时就应该填写{% asset_img 1.jpg {celery} %}
效果图如下:
方法三
前两种方法尽管在上传时很方便,但是在插入图片时并不是很方便,现在很多 Markdown 编辑器在插入图片是非常方便,截图直接粘贴、现有的图片文件直接拖入都可以实现插入图片,而不是使用代码进行插入。
但是这样插入的图片在上传时并不会被上传,这样就导致了博客中文章图片的连接还是本地路径的格式。
于是博主自己写了一个 Python 脚本,在文章完成后上传前,通过脚本自动将文章中的图片上传至腾讯云对象存储(腾讯云每个月都有一定的免费额度)或者 SMMS 图床,文章中图片链接替换。这样既不会占用 Github Pages 空间,又能方便地插入图片。
对于脚本的使用,可以到==>Hexo 博文图片自动上传腾讯云、SMMS 图床并替换博文内图片链接<==查看