首页 游戏问答 正文

重生之岛_官网_更新日志

关于《重生之岛》官网更新日志的折腾

一开始我根本没想搞什么更新日志系统。那时候项目刚起步,我这边忙着把岛屿的基础架构搭起来,官网我就想着随便弄个静态页面应付一下得了。每次更新,我就手动改改HTML,上传上去。刚开始版本迭代慢,还能应付,但后来内容爆炸式增长,版本号像坐了火箭一样往上窜,我发现自己半夜两点还在对着那几百行HTML代码抠字眼,简直要崩溃了。

本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址(www.game519.com)

最怕重复劳动。这不逼着我赶紧找路子把这活儿给自动化了吗?

从复杂的CMS掉头转向

我琢磨着用个现成的CMS(内容管理系统),想着能把更新日志这块儿剥离出来。结果找了一圈,发现那些玩意儿太重了,功能多得吓人,我只是想发个公告,结果得先架设数据库,配置PHP环境,搞一堆我这小破服务器根本跑不动的服务。我一看这架势,算了,纯粹是杀鸡用牛刀,给自己找麻烦。

我立刻掉头,决定自己搭一个轻量级的,只为更新日志服务的小系统。我把需求捋了一遍:

  • 必须极度轻量,一个配置文件搞定。
  • 必须支持Markdown,我懒得在编辑器里排版。
  • 渲染必须贼快,不能拖慢官网访问速度。

于是我跑去扒拉了一个很小的Go语言包,不是说B站用Go吗,我寻思我这小破站用个Go来处理静态文件解析肯定跑得飞快。我先是尝试着在本地建了一个存放Markdown文件的文件夹,文件名就用版本号和日期来命名,这是我的源头。

我就开始写那个解析器。

我把解析器配置让它去读取那个文件夹里所有文件,然后用正则把版本号和日期从文件名里给“抠”出来。再把Markdown内容转成纯HTML,全部打包成一个大JSON文件。等更新日志需要显示的时候,页面就直接去请求这个JSON,然后JavaScript再用一个循环,嗖嗖嗖地把内容全部砸到页面上。这套流程,我从开始写到跑通,大概花了两天半。

为什么我非得连夜搞定它?

大家可能会说,这种小功能至于搞这么快,折腾这么一套系统吗?这就得提提我那段时间的糟心事了。

那阵子,我正赶上家里老人生病住院,我白天根本没办法碰电脑,所有的开发时间都得挤到晚上十点以后。我的主业工作又特别忙,每天回到家基本就是一滩烂泥。但《重生之岛》这个项目不能停,我之前答应了几个最早的支持者,说好的月底要出大版本。

我记得有一天晚上,我正趴在医院陪护床上,用一个破旧的笔记本电脑赶工。我媳妇儿给我发了条信息,说上次更新日志发得太慢,社区里有人抱怨了。那一刻我真是又累又气,我心想老子连睡觉的时间都没有,还要手动给你更新HTML?当时我就下了狠心,必须得把更新流程给彻底简化了。

所以这套Go+Markdown的轻量级方案,就是这么被被逼着赶出来的。我需要的是一个我能在任何地方,用任何渣渣电脑,只要能修改一个文本文件,就能完成官网更新的机制。这是效率问题,更是生存问题。

我只需要在Markdown文件夹里新建一个文件,写完内容,推送到我的服务器上,那个Go解析器一跑,新的更新日志就自动生成了。整个过程不超过五分钟。这回大家看到的《重生之岛_官网_更新日志》里面那些密密麻麻的新内容,就是这套系统支撑着。省下来的时间,我能多睡俩小时,或者多陪陪家人。 这才是最大的收获。