本文主要是推荐使用 hexo-abbrlink 插件进行设置永久链接
点击这里跳过废话,直接开搞

注意!!!
经测试发现,permalink 必须添加 .html 后缀或者以 / 结尾,否则在你点击文章时,浏览器会由于错误识别类型默认进行下载,而非打开文章页面。

What

Hexo Docs - 永久链接(Permalinks)
Hexo 在生成博客文章链接时,默认是按照年、月、日、标题格式来生成
可以在 _config.yml 中的 permalink 设置,默认是 :year/:month/:day/:title

_config.yml
1
permalink: :year/:month/:day/:title/

Why

这样默认的设置会有以下几个缺点:

  • 当我们把源文件名改掉之后,链接也会改变
  • 如果文章标题很长,那么文章链接也会很长
  • 如果文章名包含中文,转码后链接一串乱码,不美观
  • 不利于SEO

How

我们可以在 Front-matter(即文件最上方以 --- 分隔的区域,用于指定个别文件的变量)中
自定义每个文章的 permalink

1
2
3
4
5
6
7
8
---
title: 这是文章标题
tags: 这是标签
categories: 这是分类
permalink: my_custom_permalink.html
---

content...

这样做会覆盖你在 _config.yml 中设置的 permalink
文章链接会变为domain/my_custom_permalink.html
但你需要为每篇文章都单独设置一个 permalink ,否则他还将是采用默认的设置

  1. 首先安装插件

    1
    npm install hexo-abbrlink --save
  2. 修改配置文件 _config.yml

    _config.yml
    1
    2
    3
    4
    5
    permalink: posts/:abbrlink.html # 也可以直接写成 /:abbrlink.html
    # abbrlink config
    abbrlink:
    alg: crc32 # 算法:crc16(default) and crc32
    rep: hex # 进制:dec(default) and hex
  3. 重新生成静态文件

    1
    2
    hexo cl && hexo g
    hexo s

这样 Hexo 在生成静态文件时会按照你设定的规则
给你的每一篇文章添加一个 abbrlink 属性用于生成永久链接

这样一来妈妈再也不用担心文章地址过长或者失效的问题了
快去给你自己的博客搞起来吧!

Reference