免插件生成 Hexo blog 的永久链接
免插件生成 Hexo blog 的永久链接
网络收集免插件生成 Hexo blog 的永久链接
为什么要修改默认的永久链接
Hexo 默认的永久链接格式目录层级太复杂,深度太大,不仅不利于 SEO,而且也不美观。hexo 博客默认的文章链接类似这样 https://blog.811520.xyz/2024/10/30/md文件名/
如果 md 文件名是中文,那么得到的链接将是这样一长串 https://blog.811520.xyz/2024/10/30/%E8%B4%A6%E5%8F%B7%E6%B3%A8%E5%86%8C-%E8%8A%82%E7%82%B9%E6%90%AD%E5%BB%BA%E4%B8%8E%E8%B4%A6%E5%8F%B7%E4%BF%9D%E6%B4%BB/
,实在太难看
如果 md 文件名是英文,得到的链接会好看一点,将是这样的:https://blog.811520.xyz/2024/10/30/switchhosts-jiasu/
,但是又引来一个新问题,_post
文件夹内的 md文件
全是 英文名
,我们在寻找和整理 md 文件时很不方便,文章多了之后,自己也不知道哪个是哪个
那么有没有办法在使用 中文文件名
的同时,为文章生成一个 简短的永久访问链接
?自然是可以的
Hexo 的文章永久链接优化方式主要有两种:
免插件式
修改 Hexo 的配置文件的 permalinks 部分,然后在文章 Markdown 文件的 front-matter 字段进行定义插件式
安装 hexo-abbrlink 或 hexo-abbrlink2 插件并配置
本文只讲免插件方式生成永久链接,也是我推荐的方式,插件式请看 这篇教程
文章结尾带 .html 的永久链接
文章结尾带 .html
更像一个静态网页,如果你更加喜欢这种格式,可以按照下面修改
1 | # URL |
写文章的时候在 md 文件的 front-matter
部分新增字段 filename:
,然后写上实际的永久链接,比如
1 | title: 优化 Hexo 的永久链接 |
permalink: :layout/:filename/
对应的链接格式是 https://blog.811520.xyz/post/hexo-links.html
permalink: :layout/:year/:month/:filename/
对应的链接格式是 https://blog.811520.xyz/post/2024/10/hexo-links.html
文章结尾不带 .html 的永久链接
文章结尾不带 .html
更为简洁,如果你更喜欢这种格式,可以按照下面修改
1 | # URL |
在文章 md 文件的 front-matter
新增字段 filename:
,然后写上实际的永久链接,比如
1 | title: 优化 Hexo 的永久链接 |
permalink: :layout/:filename/
对应的链接格式是 https://blog.811520.xyz/posts/hexo-links/
permalink: :layout/:year/:month/:filename/
对应的链接格式是 https://blog.811520.xyz/posts/2024/10/hexo-links/
建议将字段 filename:
字段的配置加入 Hexo 文章模板中,这样每次使用 hexo new post 这是一篇新的博文
命令新建的文章都会自动在 front-matter
中加入 filename:
字段
打开博客根目录下的
scaffolds
文件夹中的 post.md 文件,并在front-matter
部分新增字段permalink:
1 |
|
关于 _config.yml
中永久链接 permalink 的配置参数,可以参考官方文档
千万不能使用 :path
和 :permalink
这两个参数,否则本地搜索会出错。我已经踩过这个坑了
最后延伸一下
看过我 这篇文章 的人,如果已经熟练使用 ob 来编辑和推送博客文章,可以利用 ob 的 Linter
插件,自动生成包含 filename:
字段的 front-matter
信息