前段时间花了将近一个月的时间,开发了两个新的项目砚台和s3-image-hosting。现在两个项目都已经初步完成了。本来我的想法是随手弄个凑活能用的在线写博客文章的应用,方便自己日常写博客使用。我也一直提醒自己先思考再编程,结果还是有点上头了。该说不说一个月的时间泼出去,完成的这两个项目我个人还是很喜欢的。但是咱都开源了,当然是希望更多人能够使用他们,从中得到更多的认同感。所以这次来做一个总结,规划一下未来的维护计划。
这两个项目都是围绕“个人搭建静态博客网站”这一个最终目的去构建的。总的来说我预期中的体系结构由以下几个部分构成:
- Github
- Hugo
- 砚台编辑器
- s3-image-hosting
- 对象储存
他们之间的组合逻辑大概是这样:
首先打开浏览器在砚台编辑器中拉取Github仓库中的文章,进行编辑修改。之后推送回仓库。
接着自动触发Github Action运行Hugo构建并将构建产物我们的静态博客网页推送到Github Pages。
然后上述的s3-image-hosting则是我为了方便开发与测试,从砚台这个项目中单独将图床管理这一块功能抽出来了。它主要负责的是借助对象存储云服务来管理博客文章中的图片。 目前的开发状况则是s3-image-hosting基本上开发测试完毕就剩下利用它向砚台编辑器中添加图床管理功能了。我的规划是这一步先不着急,现在最应该做的应该是完善砚台和s3-image-hosting的代码,趁着最新刚开发完思路还是连贯的,先保证项目代码的可读性和可靠性。说人话就是把目前的屎山代码该分割分割,该重写重写,同时多写一些测试代码。在这之后呢应该为项目补充完善相关的说明文档,使用指南之类,还应该添加一些自动管理工具,比如说版本发布,CHANGELOG生成这些。另外我还购入了inkstone.work这个域名,之后将这些在线文档以及示例站点都挂在这个域名下面,这么一来就感觉正规多了。
题外话,我也不知道我为啥搞这么麻烦,开源的项目还买域名搭官网。当初我连肝两天终于在晚上开发完了图床库,打开QQ看到大家都在转发下面的话,真心破防了啊。
快过年了,不要再讨论什么Java、Vue、Nodejs了。你搞你的组件库并不能给你带来任何实质性作用,朋友们兜里掏出一大把钱吃喝玩乐,你默默的在家里摆弄你的破组件库。亲戚朋友吃饭问你收获了什么,你说我封装了一套高性能的组件库,亲戚们懵逼了,你还在心里默默嘲笑他们,笑他们不懂你的高内聚,不懂你的低耦合,也笑他们连web项目怎么搭建的都不知道。你父母的同事都在说自己的子女一年的收获,儿子买了个房,女儿买了个车,姑娘升职加薪了,你的父母默默无言,说我的儿子封装了个组件库,跑起来电脑咔咔响、家里电表走得越来越快了。
开个玩笑,总结一下接下来要做的事情。
- 重构优化代码
- 添加更多测试,尤其是砚台
- 写文档,搭官网
- 配置工作流(预计加standard-version这个工具)
其实实际操作的时候我感觉文档这东西,抽空了就写一点就好了。最后恭喜我自己又完成两个吃灰项目吧,接下来也都是收尾工作了,预计会抽空慢慢完善。
最后的最后一些想法记录在这儿,说不准哪天付诸实践。
- 砚台添加一些智能算法,例如自动统计词频抽取关键字(想法是使用rust版本的结巴分词打包的wasm做),AI文章摘要(找个第三方接口吧),文章质量打分
- 自动筛选图床中未被文章引用的图片
- s3-image-hosting内置一些压缩图片,转换图片格式之类的算法,可以在上传前本地先进行预处理
- 上述整个博客依赖很多块东西,开发一个类似脚手架的项目,给出相应配置能够自动搭建好所有需要用到的工具,并处理好他们之间的关系
- 搭建一个聚和博客文章的平台,都不需要爬虫,发布文章的时候选择是否要同步到社区直接同时发布就行了。同理的,最好能够找一些CSDN,稀土掘金,知乎之类网站的接口,能够一键同步(跨域会有些难度,到时候只能用Action做)