hexo permalink设置技巧

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingbin_/article/details/80617210

背景

之前的文章有幸被鸿洋的公众号收录,文章内引用了博客中的一篇文章链接:https://jingbin.me/2017/11/23/%E5%BC%80%E5%8F%91%E4%B8%AD%E6%89%80%E9%81%87%E9%97%AE%E9%A2%98%E5%BD%92%E7%BA%B3/;着实尴尬,因为默认生成的文章链接是:year/:month/:day/:title/,里面的汉字经过转义,导致了这样的结局。

永久链接

看一下永久链接(Permalinks)的解释,在站点的_config.yml中,生成的文章链接默认为:

permalink: :year/:month/:day/:title/
permalink_defaults: 

因为title可能为中文,那生成的链接就可能为上面的情况,这时候我们希望自己在每篇文章的Front-matter中指定一个字段,然后替换title,这样就可以显示我们自己定义的url了,例如:

  • permalink: :year/:month/:day/:urlname/
  • permalink: post/:urlname/
permalink: :year/:month/:day/:urlname/
# 当没有urlname时显示什么,写上 :title 也没有用,会作为字符串处理
permalink_defaults:
  urlname: index

因为之前文章的形式是:year/:month/:day/:title/,为了保留以前的文章阅读数,这里我使用第一种形式,然后在以前每篇文章的Front-matter中加上urlname,保持和以前的文章链接一致就可以了,例子:

---
title: 《Android群英传 神兵利器》读书笔记
urlname: 《Android群英传-神兵利器》读书笔记
date: 2018-02-04 23:16:31
tags:
- Android
- Books
- 工具
categories: Android
---

注意:标题上的空格,有时候转义为“%20”,有时候则为“-”。其他的特殊字符也要注意,不然和以前的文章就不是一个链接了!

为了每次hexo new “my new blog title”时就有urlname字段,我们可以在scaffolds/post.md里配上这个字段,例如:

---
title: {{ title }}
urlname: 
date: {{ date }}
tags:
categories:
---

这样生成的链接形式就是这样了:https://jingbin.me/2018/06/06/set-hexo-permalink/

总结一下

  • 修改站点文件_config.yml中的permalink

    permalink: :year/:month/:day/:urlname/
    permalink_defaults:
      urlname: index
  • scaffolds/post.md里配上urlname字段:

        ---
        title: {{ title }}
        urlname: 
        date: {{ date }}
        tags:
        categories:
        ---

之前遇到的问题

之前遇到的一个问题,折磨了几天,和这篇文章无关,现记录在这里:
hexo d命令部署的时候总是会卡住很久,只用hexo d -debug查看日志发现信息一直在循环:

▶ hexo d -debug
INFO  Start processing
INFO  Files loaded in 620 ms
INFO  Start processing
INFO  Files loaded in 342 ms
...
INFO  Start processing
INFO  Files loaded in 274 ms
INFO  0 files generated in 381 ms
INFO  Start processing
^C  
Bye!

这里和另一个使用hexo的人情况一致,hexo deploy 命令卡住的奇怪问题,参考他的解决方法还是没有解决,估计每个人产生的原因可能不一致,最后删除db.json 文件才好了。

相关文章

猜你喜欢

转载自blog.csdn.net/jingbin_/article/details/80617210