前端于我
博客|开源|工具

博客2.0升级计划

目前这个博客已经稳定运行差不多一年了,按照目前的方式也能继续运行下去。那么我为什么要改造它并且对它进行升级呢?主要有两点原因:

  1. 当初搭博客的时候随便搞的,所以完全没有架构可言,代码什么的也是乱七八糟。

  2. 比较关键的一点是,为了保证国内网络的访问速度,我将博客部署在阿里云上,而我的打折低配版服务器快要到期了。而我仔细想了想,似乎没有必要继续购买服务器,毕竟我的博客基本是纯展示的静态html页面,而唯一的评论模块还是基于Github的Issue的Gitalk组件。所以就不搞那么复杂了。

现在的博客整体架构

blog

可以看到,现在的博客文章基本是基于Markdown写的内容,然后所有的文件什么的存在我的blog的Github仓库。部署的时候远程连接到阿里云服务器,将仓库代码拉取下来,然后运行构建,markdown-into-html这个库就会把对应的markdown转成html,再使用简单的koa服务做路由的管理(更新博客就需要重新部署)。

当然这里也可以不连接阿里云服务器,而是直接通过koa服务提供的一个接口重启服务(底层是通过执行shell脚本重启koa服务)。

那么总体下来我梳理出几点问题:

  1. 博客内容跟服务内容混杂在一个项目里面,导致整体内容比较混乱。

  2. koa服务显得很没有必要,只是单纯做了一个路由管理的功能,那么其实可以完全去掉这个服务,直接部署在阿里云OSS上(OSS具备托管静态页面的功能)。或者可以部署在其他的免费托管的一些服务商,例如Google Drive(还没尝试过)。

  3. 完全没有工程化,基本上就是run一个命令,然后调用对应的脚本进行打包构建。

  4. 部署麻烦,且每次有更新就需要重启服务,这很不合理。虽然没什么访问量,不会造成什么影响,但是这是架构上的问题,跟访问量无关。

  5. 难以复用。

升级计划

既然有问题,那我们就解决它。

首先针对目前博客的一些问题,我制定了一些解决方法或者说是目标:

  1. 博客去除服务器,去掉koa应用,使用完全静态的页面托管模式。初步计划发布到阿里云OSS上,后续考虑支持发布到Google Drive。

  2. 将博文内容跟markdown转html与部署逻辑拆分,将内容无关的js逻辑抽离成底层cli工具。

  3. 提供足够的配置控制,甚至是一些构建生命周期的hooks(这点存疑)。

  4. 基于Github Actions,支持自动化部署。

基于这几点,在这两天有空的时候,已经完成基础的架子,并且已经直接发布到了npm, 叫做blog-oss

如果对这个工具感兴趣,可以直接看它的README.md,但是我还没时间详细写, HAHAHA…😅

目前已经支持简单的配置管理,html文件转换输出,一键发布到阿里云OSS,以及自定义页面构建模版。

但是我还没访问过部署在自己的OSS上的博客页面,因为我新买了一个域名发现要备案的话现在这个域名(www.lmsdelck.xyz)会影响到备案的成功率,然后目前这个域名备案的内容其实不是作为博客网站使用的,所以可能我得到这个域名到期了(或者我先把博客下掉)才能实际体验一下OSS上部署的博客。TAT…

接下来的计划

目前这个工具库的实现思路我觉得是没有什么问题的,但是总的来说部署还是有点成本。

  1. 需要一个OSS并且OSS是需要收费的。而且还得买个域名,对于这些OSS的配置,域名的备案,以及上HTTP证书都挺麻烦的。这块后面看看能否支持到直接部署到一些免费的静态页面托管的应用上。

  2. 如果要评论模块的话还得搞一下github的授权。并且现在网页访问数据的存放还没想好要放哪里,最好也能找到一个免费的服务。

看看最近有时间的话把剩下的东西搞完,顺便再考虑一下如何继续的降低接入成本,用户无需太多的服务申请,就能简单快捷的白嫖到一个很不错的自己的博客。💪💪💪

发表于: 2021-07-15