说明
在各个静态博客网站生成工具之间迁移文章时,可能会遇到链接不一致的问题。
比如你在 jekyll
配置好了,文章链接是 https://hqweay.cn/2019/09/23/new-post
。迁移到 hexo
,文章链接就变成了 https://hqweay.cn/2019/09/23/2019-09-23-new-post
。
通常,为了 SEO、使用第三方评论、或其它原因,我们总希望博客迁移后,链接保持能不变。这里讨论一下我使用 jekyll
、hexo
、hugo
在迁移数据时的一些感想。
先给一下方案,我建议文章按照 year-month-day-title.md
,即 年-月-日-标题.md
的格式命名。比如 2019-09-22-new-post.md
。之所以建议这样命名,是因为 jekyll
要求文章的文件名必须遵循这种格式。而 hexo
与 hugo
则没有这样的要求,后两者默认 文件名 作为标题。
以这种方式命名,hexo
与 hugo
仍可以通过配置获取到真正的 title
。而若不这样这样命名,如果想使用 jekyll
还得修改文件名。
虽然我觉得接触过 hexo 和 hugo 的人恐怕不会想着回到 jekyll 了吧…
而且通过年、月、日、标题的命名,在文件夹排列看起来比较清爽,同时还可以避免文件名冲突。
而生成的链接,我建议使用 /year/month/day/title
,比如 https://hqweay.cn/2019/09/23/new-post
。
如果只用 title
作为链接,比如 https://hqweay.cn/new-post
,若两篇文章 title
一样的话,就会冲突。用年、月、日、标题确定唯一的文章,就很难冲突啦。
这点和上面文件夹命名同理。
其实只是为了不冲突,https://hqweay.cn/2019-09-23-new-post
这样的链接也行。不过把时间区分出来观感好点…
给出方式。
如何配置
jekyll
文件名 :year-month-day-title.md
配置文件 _config.yml
添加
permalink : /:year/:month/:title
hexo
文件名 :year-month-day-title.md
配置文件 config.yml
添加
new_post_name: :year-:month-:day-:title.md
permalink: :year/: