如何在Hexo中对文章md文件分类

Hexo是一个快速、简洁且高效的博客框架,常用在Github Page上部署个人博客。

起因

在默认配置下,我们使用hexo new post [title]会在source/_post/目录下生成对应的markdown文件,而使用hexo g生成的html文件路径是:year/:month/:day/:title.html。当我们写的博客越来越多的时候,会发现,所有文章都是在source/_post/下,查找起来会不大方便,而希望对它进行一个分类,但是在生成的文章链接上保持不变。

生成的文章名字及其对应永久链接,可以在_config.yml中配置,分别是new_post_name: :title.md # File name of new postspermalink: :year/:month/:day/:title/这两项。我们把new_post_name的值改为:year/:title.md,让每次运行hexo new post [title]时新建的文件按年份存放,但是却发现生成的html文件的链接也变了,比如source/_post/2018/test.md对应的博客地址,原本应该是2018/12/22/test/,现在却变成了2018/12/22/2018/test/。也就是,配置中的permalink值里的:title,实际取的不是文件名称,而是相对于source/_post相对路径(不含后缀)。
这可能是个Bug,因为在permalinknew_post_name中,用的是同一个变量:title,但是它们的值却是不同的。

求解

如果我们是按年月日归档,而链接保持不变,大可配置为如下:

permalink: :title
new_post_name: :year/:month/:day/:title/

但是这样的分类太细了,别说一天写不了几篇,一个月我也不会写太多。我只想生成的文章按年份分文件夹,其他保持不变。所以在_config.yml中是要修改配置为如下的:

new_post_name: :year/:title

而文章的链接,一番搜索之后,发现可以在我们文章的markdown文件的Front-matter中添加permalink参数,来指定文章的链接(见 https://hexo.io/docs/permalinks.html#comment-2657776966 )。如果我们在_config.yml中的permalink

  • 18
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值