ImQi1
封面
ImQi1主题全面重构计划

ImQi1主题立项于2024年1月,完成于2024年10月,实现了我在大一时的梦想——拥有属于自己的独立网站。此主题魔改自Saammaa的citizen主题,样式则借鉴自各式各样的网站,说起来这些也算是本主题的前辈了。

由于魔改期间HTML结构频繁改动(如类名),JS也改动了很多功能,且由于citizen主题的代码是压缩过的,逻辑上可读性很差,虽然某些对象和属性确实从名称上能判断出功能,但是改起来也是不敢动看不懂的地方(如本站的两个音乐播放,一个是右下角的,用的是holwer,一个是文章中的,用的是meting,就是因为不敢动核心代码才同时存在两个),有很多冗余的地方,且严重拖垮性能,因此决定整个翻新主题。

新主题的名称叫做NewImQi1,主题在本地开发,待开发至一定进度,会直接应用于此(即imqi1.com主域名),届时旧主题会应用至一个二级域名上(可能为old之类的),且不再修复bug。

新主题在功能和样式上和旧版主题一致,且会比旧版更好,主要从这些方面下手:

  • 旧主题为图方便,功能不全部在主题自身上实现,而是改动了其他地方的源码,比如插件,Typecho本身,以满足高度定制化需求。新主题将这些功能全部在主题自身上实现,不改动源码。
  • 在上一点中提到的,插件改动了许多,新主题将综合这些插件,将功能汇聚到一起,去除不必要的功能,并优化速度。(如本站的评论审核插件就有两个,一个是对接百度内容审核平台的,还有一个是过滤邮箱、IP等等的黑名单的,定制化插件会将它们合并到一起)

除合并插件功能,我还打算自己写一些Typecho生态中没有(或不满足,或年久失修)的插件,以满足我自己的需求。目前列入名单的有:

  • 访客记录插件。本人的功能需求是按照时间段(如今天凌晨00:00到现在),相同的IP或归属地一共访问了多少次,访问了哪些页面,并过滤掉爬虫、机器人等非访客记录。
  • 后台美化插件。由于ImQi1为简约风格,黑白蓝风,我想做一个与前端样式相似的后台,增强一体性,并考虑给后端加个pjax,将操作原子化,并通过接口的形式调用。

我喜欢记录生活,开发,喜欢写日志,这个页面就用来记录我的主题开发进程,包括部署、测试、上线。

说起记录,我有一个遗憾的点就是现在的主题,在每一个页面改动时,都没有留下前一版的样子(这一点火喵做的就很好,从09年建立博客到现在都记录着,满满的回忆)。我的css和js还拥有防盗链,就连web.archive.org也未能正确加载这些文件,导致页面只有文字没有样式。以后要思考一下这个问题怎么解决。

这是我第一次做这么大规模的项目,希望能成功。

主题开发进度(截至文章撰写前)

  • 10月27日,在Windows下安装好了NGINX、PHP、MySQL等环境,并顺利访问Typecho主页,后台也可以登录。
  • 10月28日,主页复刻完成,pjax基本加载完成,js尽量使用webpack封装。
  • 10月29日,完善pjax,归档页面之一的搜索页面基本完成,并改动了文章列表样式。
  • 10月30日,文章和评论的交互功能基本完成,评论的提交待实现。
  • 10月31日,评论交互功能开发完成。至此,主题基本功能开发完成,并上线测试。
  • 10月3日,代码高亮、文章目录、图片灯箱功能开发完成。

附上一些截图。

带目录的文章正文带目录的文章正文.webp

归档页面归档页面.webp

评论界面评论界面.webp

更多功能还在实现中。

评论
评论即代表你已阅读并同意评论协议
    浮生
    浮生 linguoguang.com 1周前

    博主,导航栏目提个建议,分类那一项可以考虑改成二级的下拉菜单,可以参考下Hexo的Fluid主题https://hexo.fluid-dev.com/
    目前这样点开访客不清楚下面对应的是什么,需要点进去才知道是什么页面

      棋
      imqi1.com 1周前 回复 @浮生

      好的收到!

    obaby
    obaby h4ck.org.cn 2周前

    主题感觉还是蛮不错的。速度也很快

      棋
      imqi1.com 2周前 回复 @obaby

      主题还没上线呢😂

        obaby
        obaby h4ck.org.cn 2周前 回复 @棋

        现在用的这个不是之前不久上的吗?

          棋
          imqi1.com 2周前 回复 @obaby

          有bug,就恢复回去了

双击可关闭搜索
内容加载中...