博客复刻ImQi1主题
前言
近期在复刻一个主题,好多事情没理会😑,或者说没时间做
RSS 收集抛锚了、图片还没整理、鞋子背包还没洗…..
真的就一心只闻新主题,两耳不听窗外事
花费几天到今天总算完成了,讲讲过程。
物色过程
一直想要迁移到一款极简的主题上面,收录看了很多优秀的主题,但都多少有点不符合心意
下面是我个人物色的过程、点评
- hexo-theme-ZenMind:预览,看名字有点像Xmind的Zen模式,比较极简,但布局样式不符合预期,pass
- Stack:预览,卡片+线条的设计非常非常喜欢的主题Stack,但是是基于Hugo框架,水平有限,以前尝试迁移到Hexo框架过一次,含恨告终,浪费我时间😑,当时可能路线走歪,一直想的是直接将Hugo框架中的代码平移到Hexo框架,对Hugo的渲染过程一概不知,知识面匮乏,现在想想是种错误的做法,应该直接照搬网页以及样式,功能再自己实现,不过错过就错过了,已有心仪,不可能在花精力时间再搞一手
- hexo-theme-instapaper:预览,仿 instapaper 的一款极简 Hexo 主题,样式还可以,布局不符合预期,pass
- hexo-theme-last:预览,看着还可以,但我换这个,与我切换主题的目标相悖,现在手头的Fluid主题也很香,换这个不如用着原先熟悉的Fluid主题
- hexo-theme-vivia:预览:卡片设计,非常优秀的主题,但感觉不符合心意(符合一半?)
- Fluid:额外安利一手,一款 Material Design 风格的 Hexo 博客主题,非常详细的文档,超高的自定义
- hexo-theme-butterfly:预览,非常多人使用的主题, 也可以魔改,与Fluid相比也是不遑多让,与我切换主题的目标相悖,Pass
- hexo-theme-anzhiyu:基于hexo-theme-butterfly进行二次开发,卡片设计,与我切换主题的目标相悖,Pass
- hexo-theme-clover:挺好的主题…..
- hexo-theme-argon:预览,卡片设计,挺好的主题,但与我切换主题的目标相悖,Pass
- hexo-theme-stellar:预览,小清新,还行…
- …
优秀的主题还是非常多的,但没有合自己口味的
在物色的过程,没有看到心意的,然后在一次浏览遇到ImQi1,看到后非常喜欢。
就在Flomo记录了想做的想法,然后在近期给它实现
开发(迁移)过程
见到心仪的主题,想法有了,目标也有了,接下来就剩下落实
咨询原站主得到肯定答复后,开始复刻,这里再表谢意
吸取上次迁移失败的经验,这次要迁移的主题平台是Typecho,我不去研究他底层是怎么渲染的
我直接照搬HTML,生搬硬套🤣,直接拿取CSS文件(埋下祸根)
半天学习下Hexo框架怎么渲染的,EJS语法,然后就然后测试->调试->测试->调试…,周而复始
原站主JS是混淆的,原站主愿意免费提供,但还是没跟要原站主要,一方面学习实践下吧,一方面咱不是伸手党🙃,还是自己来实现。
花费时间自己实现主题色切换、面包屑、代码高亮、代码复制等等的功能逻辑
每天抽些时间来弄,来来回回一周过去了…..
原主题叫ImQi1,我觉的我这个可以叫ImQi1-Lite,算是一个ImQi1的精简版本
因为好多样式功能都没有,说说一些实现过程权衡的点
- 音乐:我觉得手机可以听,没必要在网站上弄多一个,增加了额外的传输数据,本身也不喜欢花里胡哨,所以没实现
- 相册:个人也不准备添加,手机有图、电脑也有图、博客也有图,这种散落一地不太喜欢,如果后期实现也是联动方式(相册映射到博客)
- 文章:我观察原博主的样式,应该是有对视频、图片之类的进行样式优化,我自己基本就文字、代码、图片,使用了
fancybox
来实现灯箱,代码高亮采用highlight
来实现,其他没有去实现 - 搜索:导航栏加多了不好看,我个人觉得这个功能面向博主个人多一些,因为对文章都有概念,知道搜索什么关键字,我又是Obsidian同步到Hexo,要搜索直接Obsidian中去搜索就好,对于访客而言,我觉得更多的是从「归档」、「标签」、「分类」 去浏览,而不会基于关键字(除非经常阅读老用户),我UV少的可怜,没必要花时间去实现,所以这个暂时搁浅
- 分类:分类文章这一块,保留原来的习惯,个人在「标签」、「分类」中仅保留「标签」,之前六七月杂谈二三提过相关思考,这里不再赘述
复刻的完成度总体还行吧,总体核心就「简」 ,不要功能复杂,不要花里胡哨,做一个小而美的站点。
不过虽然说是Lite也就是精简版,但实际上CSS代码量仍旧没少多少(5600多行)
原因是我不敢动😅,上面说埋下祸根就是这里,虽然我精简很多,但CSS样式这东西,套娃一样,层层嵌套
我HTML页面直接套过来用(部分结构改动),但一改动,说不定在不注意的地方,网页的样式就坍塌了,又得自己花费时间来实现
我想这也是很多人宁愿重新造轮子,也不愿意去理解库的原因吧
面对前人写的代码,无从下手🤣,我自己要的样式只能再写一些要的去覆盖掉
精简的话,我估计2000行左右代码应该可以,但不折腾CSS了,实现优于完美
以后有机会大更,重头从基础设计一个再说
更名
「浮生一梦」是我很久之前想要更换的名称,域名也注册了,但是一直没有更换
这次趁着更新就换成这个了,不过域名保持没有变,因为换域名好像要重新备案,太久了,流程我有点忘记
另外更新,好动东西都要变动,博客圈,这个域名下挂载的服务等等
当时备案花费了我20-30多天好像,留下点阴影,我是挺怕麻烦的,就暂时这样吧😑
鸣谢与引用
- 整体
- 引入资源
- 图标资源:remixicon
- 字体资源:Noto-Serif-SC
- 代码高亮: highlightjs
- 图片灯箱:fancybox
- 网站评论:Waline
结语
完成这个想做的事情,多少有点小小的成就感
虽然不是自己完全开发,仅是二次开发,但去实现完成的过程,还重新学习总结了一些通用的知识点。
总体还是挺nice😏