hexo文章url设置

hexo文章url设置


hexo文章的url在博客根目录的_config.yml中进行配置,默认配置如下:

permalink: :year/:month/:day/:title/ #年/月/日/文章路径

这里的:titlesource/_post下的相对路径,但是这样的话很容易造成url中文乱码,和不同浏览器因为字符集的问题导致的url失效。
这里建议尽量不使用默认配置,推荐使用如下两种方案:

  • 方案一:自定义url
    修改_config,yml配置为

    permalink: :year/:month/:day/:id/ #这里我们把title替换为id
    

    然后当我们发布文章时,在文章头部信息中添加id信息

    ---
    title: 测试文章
    date: 2021-04-22 11:02:53
    categories: 类别一
    id: blog001 # 此处的blog001对应url中的id部分
    tags:
    	- C++
    	- C#
    	- java
    ---
    

    这样就可以避免中文乱码造成的影响。

  • 方案二:使用hash值
    这个方法适合比较懒的朋友,如果不想每次都要自定义文章id,可以直接修改_config.yml为:

    permalink: :year/:month/:day/:hash/ #这里我们把title替换为hash
    

    这样每次生成文章url,会自动生成hash值,保证不重复且不会因为编码出错。


这两种方案可以解决url的错误,并且自定义喜欢的url,但是默认的配置确实也可以用,但是格外注意一直情况,当你使用默认配置时,如果文章文件名或者文件夹名中含有#字符,在进入浏览器后,#后面的文字会被自动注释掉,导致虽然index.html存在,url也正常,但是就是无法点击跳转,这个是hexo一个很坑的地方吧!


最后贴上hexo的url自定义规则,大家自行参考,选择适合自己的方法吧!

变量描述
:year文章的发表年份(4 位数)
:month文章的发表月份(2 位数)
:i_month文章的发表月份(去掉开头的零)
:day文章的发表日期 (2 位数)
:i_day文章的发表日期(去掉开头的零)
:hour文章发表时的小时 (2 位数)
:minute文章发表时的分钟 (2 位数)
:second文章发表时的秒钟 (2 位数)
:title文件名称 (relative to “source/_posts/“ folder)
:name文件名称
:post_title文章标题
:id文章 ID (not persistent across cache reset)
:category分类。如果文章没有分类,则是 default_category 配置信息。
:hashSHA1 hash of filename (same as :title) and date (12-hexadecimal)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值