前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >博客由Hexo转向Hugo

博客由Hexo转向Hugo

作者头像
yumusb
发布2020-08-28 15:02:54
5250
发布2020-08-28 15:02:54
举报
文章被收录于专栏:坏男孩坏男孩

昨天(2019/12/11),感觉自己博客速度实在是太慢了,而主题太复杂则是我觉得速度太慢的主要原因.于是心血来潮,想给博客换一个主题,也找到了比较喜欢的(哎,我真是一个喜新厌旧的人.),无奈是hugo的,那还能怎么办,只好换了,还好二者兼容性很好.下面记下折腾中遇到的一些坑..

hugo中的参数需要[]包裹

例如categories: ["技术"],原先hexo没有这个要求,写了一个py轻松解决

代码语言:javascript
复制
import os 
for md in os.listdir("./"):
	if(md.endswith(".md")):
		with open(md) as f:
			tmp = f.read()
			tmp = tmp.replace('categories: 技术','categories: ["技术"]')
			tmp = tmp.replace('categories: 生活','categories: ["生活"]')
		with open(md,'w') as f1:
			f1.write(tmp)

(当时写的已经删除了,这个随便写的 不保证能用- -)

hugo生成的文章目录不支持大小写区分,且会把空格替换为-

原先用hexo时候目录路径是完全按照自己的标题生成的,而hugo则转换成小写.好不容易有了几篇文章被收录,这样不就完蛋了.评论也是用的gitalk,路径变了,评论也丢了.同样的还有使用busuanzi的访客统计,也丢了. 解决办法:至于gitalk和busuanzi我是没办法了.

  • 我在404页面加了一段JS,来保证被收录的页面还能够正常访问
代码语言:javascript
复制
<script>
  var currenturl=location.href.toLocaleLowerCase().replace("%20","-");
  if(currenturl!=location.href){
 	location.href=currenturl;
  }
</script>

  • 2019/12/30 更新一个新的方法,那就是利用CloudFlare的workers服务,关键部分如下
代码语言:javascript
复制
async function handleRequest(request) {
  let requestURL = new URL(request.url)
  let path = decodeURIComponent(requestURL.pathname)
  let location = path.toLowerCase().replace("%20","-")
  if (location != path) {
    return Response.redirect("https://huai.pub/"+location, 301)
  }
  return fetch(request)
}
addEventListener('fetch', async event => {
  event.respondWith(handleRequest(event.request))
})

友情链接样式丢了

这个…没有解决..等以后有时间了再扣

其他 估计 也许 没了吧..

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hugo中的参数需要[]包裹
  • hugo生成的文章目录不支持大小写区分,且会把空格替换为-
  • 友情链接样式丢了
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档