博客迁移记录

一.前言

大二的时候,同样是王老师的设计思维课上,有一个类似的作业是组队用hugo做一个GitHub静态网页,那时候除了组队的作业也单独建了一个自己的blog,也是hugo做的用的pacman模板。大三大四时会把一些作业心得和刷LeetCode的过程记录上去,偶尔也把看过的论文解读放在博客上。

为什么不直接把原来的博客链接放上?

因为当时用的hugo pacman模板,图一个简洁,现在看来太丑了,一些功能也不完全,这次趁这个机会装修一下,而且做新作业嘛尽量别吃老本(其实主要还是原来的太丑了,看下面的图就是用了三年的老博客)。

这几周工作比较忙拖到了四月初做这个作业,但因为之前hugo和hexo都接触过有些基础,而且可以使用模板,所以一两天调试一下也能与不错的完成度,最后大致结果如下,比之前观赏度高多了。

为什么选择 Hexo与Shoka模板?

  1. hexo之前用过,而且只需要nodejs就行npm来管理依赖很方便,本地有现有环境,而Jekyll 的话要ruby没有装,感觉以后也用不到ruby,hugo的话虽然也有现成环境但是找不到好看的
  2. Shoka是一个较全的也较好看的模板,支持音乐和图片的自定义,功能丰富还支持一堆插件,它的归档和分类做的很到位amehime/hexo-theme-shoka: Just For https://shoka.lostyu.me/ (github.com)
  3. Shoka的文档也很丰富,每个组件的用途都有介绍Hexo 主题 Shoka & multi-markdown-it 渲染器使用说明 - Theme Shoka Documentation - 二进制杂谈 - 计算机科学 | Yume Shoka = 優萌初華 = 有夢書架 (lostyu.me)
  4. Shoka能切换两种模式,右上角切换光与暗

二.迁移要点及功能设计

图床建立

之前用hugo时没用图床链接,而是把所有图片放到source里传上去,这个历史遗留问题就导致GitHub更新时很麻烦速度慢,管理图片也很麻烦,这次迁移将所有图片改为图床链接的形式,GitHub本身可以作为图床,这里给两个GitHub+PicGo的免费图床教程:

使用Github+picGo搭建图床,保姆级教程来了 - 知乎 (zhihu.com)

GitHub+picGo+CDN搭建免费图床 - 知乎 (zhihu.com)

注意可如文章中一样使用CDN链接而不是GitHub的raw链接,否则图片较多加载较慢

模板修改

hexo各个模板类似,修改_config.yml文件,以及模板中的另一个模板_config.yml文件,像这个shoka模板的那个文档有对这两个文件的分析,这里也是建议选star数比较多的社区较活跃的模板

功能设计/页面设计

文章通过归档和分类模块进行管理

提供了别的社交软件的链接

友链模块用来互关,有意向互相加好友的GitHub联系我即可,或者qq:1421812601加我

音乐模块连接了网易云

搜索模块使用algolia https://www.algolia.com/

三.踩坑过程

虽然一天不到就建完了新博客,大多数问题看文档即可解决,但过程中还是踩了一些坑,这里列举一下:

1.需要装一些插件,有些插件一开始没装会影响某些功能,插件这里每个模板的需求依赖都不一样,所以要仔细看看作者的readme和官方文档,比如shoka中需要一下这些插件:

  • hexo-renderer-multi-markdown-it
  • hexo-autoprefixer
  • hexo-algoliasearch
  • hexo-symbols-count-time
  • hexo-feed

2.特别注意上面第三个hexo-algoliasearch不要错装成 hexo-algolia这个npm包,npm中有很多名字类似的包,一开始装错成后面这个导致搜索功能出了问题

四.后续安排

后续主要就是把之前的文章重新归档分类,老博客这两年也写了上百篇文章,有些比较水有些感觉还有些价值,把有用的搬运到这个新博客上。最后感谢王老师和助教老师的教导,这次作业使人受益匪浅,使得搁置多年的博客翻新计划重新提上了日程。