10 09/2014

hexo change url

最后更新: Wed Sep 10 2014 12:37:50 GMT+0800

把地址由 /2013/05/05/文章名/ 改为 /类别/文章名/

修改 _config.yml

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

permalink: :category/:title/

Why?

谁会关心文章的日期呢?至少不是那么地重要。本来想更短,直接 /文章名/,问题在于

  • source/_post 写 .md 的时候,不分目录,文章多了,乱,不好找!
  • 站点根目录页面(:title.htm)或者 目录(:title/)太多

注意:直接写 :title 报错。因为生成的是没有后缀名的文件,导致浏览器下载。

问题是?

这样会在 public 目录(也就是上传后的 站点根目录)下生成 类别名称 目录。

问题出现:

在主题中已经有 css,js,fancybox 三个目录,他们也会在 public 目录生成同名目录!如 css 就重名了。所以我将 themes 中的改为 css_js_。fancybox 我干脆删除(本站用不到相册)。

但这样,head.ejs 和 after_footer.ejs 中对 js 和 css 的引用也需要改成 css_js_

注意:hexo 会转义下划线!所以俺没有弄成 _css,下划线被 hexo 占领另做它用了。

恼人的 hexo bug?

  • generate 时 style.css 不覆盖 (手工删除,重新 generate)
  • generate 太多,报错错误 “fs.js (err) throw new Error(‘Generate error: ‘ + i);”(多执行 generate 几次)
  • generate 常产生 0 字节文件(必须手工删除,重新 generate)

我还干了些什么

哦,太多了,折腾了大约半天。

  • 不断修改 g 脚本,在发布时做一些事情,:)
  • 修复已有文章中对本站页面引用的地址。(只能手工用 find in files 然后一一修改)
  • 并且不要更改 md 的目录或者文件名,这样会导致站内链接失效。
  • 修改 robots.txt