最近,我想到要恢复旧的源端口目录和旧游戏的图形修改目录。 新版本应该是开源的,并且尽可能开放,以便任何用户都可以编辑站点的内容及其代码,而我只需要处理更改。 如果您对此有兴趣,我是如何制造自己的问题以及如何解决这些问题的,请关注。

网站上的传统知识
- 有关游戏修改的信息(风扇补丁,纹理集,源端口等)将上载到站点,从而改善图形,简化管理的某些方面并将其转移到另一个操作系统或平台。 此类mod的一个示例是向Dune 2添加帧以选择Doom的单位或高分辨率纹理
- 该站点将仅包含信息,而不包含修改文件和端口本身。 在旧版网站上,我尝试维护并上传文件的新副本给我,这浪费了时间
- 该网站应便于在台式机和平板电脑或手机上使用
- 任何用户都应该能够向网站添加游戏,修改等,以及编辑已经添加到网站的任何信息。
- 任何用户都应该能够编辑网站的代码和布局
- 网站所有者应该能够预先审核所有更改
- 应该可以添加其他主持人
- 社交网络上应该有用于共享的按钮
解决方案
然后将所有数据放在github上,我们是否将根据这些数据生成一个静态站点? 扎实的加号!
- GitHub已经提供了一个Web界面,用于修改或添加文件以及作为请求请求提交更改。
- 拉取请求-一个出色的系统,可用于审核更改和查看差异
- 需要新的主持人吗? 将用户添加到github上的项目中,无需考虑权限系统
- 静态站点可以托管在任何托管平台上,包括GitHub Pages
- 诸如注释,共享或阻止“随机修改”之类的任何活动都可以使用JS和现成的解决方案(例如Disqus)在客户端上实现
- 为了简化布局并提高速度,请使用Bootstrap
此外,我一直想练习用Java编写静态站点。 解决了! 我们在一个存储库中存储数据 ,在第二个存储库中存储 一个静态站点生成器 。 训练...尽管不行,但要停下来,首先您需要做出另一个决定。
将游戏说明或修改内容存储在“ JSON / XML /编写自己的版本”格式的文件中似乎是个好主意,但我们的要求是“ ...任何用户...”,并且某些JSON可能会吓到您。 好吧,问题是垃圾-让我们将数据存储在文本或Markdown文件包中。 一个文件-一个实体,github上的MD文件具有预览-lepota! 为了简化这种情况,我们将在文档中详细说明所负责的内容。 此信息的一部分:

我想说的是,以这种方式编辑现有信息确实非常方便。 但是有一个警告...
事实证明,编辑数据很方便,但是开始新的修改并不十分方便,因为必须一次创建4到14个文件。 而且使用github界面做到这一点非常不便。 首先想到的是创建描述如何添加新信息的多步骤说明。

las,网站用户的判断是明确的:不便! 而且,如果用户对本应依靠用户活动生存的网站感到不舒服,那么您将知道kirdyk项目。
PHP来解救
好吧,该怎么做,这个决定通常是显而易见的:编写表格以通过创建包含所有必要文件的拉取请求来创建新信息,以及将屏幕截图上传到现有描述中。 根据旧的记忆,由于希望尽快启动该项目,并且还因为PHP已经在托管中,所以将PHP用于这些形式。

飙升?
在添加方便的表格之后,过程开始了:在我的视频博客和Old-Games.RU网站上发布有关该网站的信息后的最初几周,我以没有时间进行审核的速度添加了新的mod和端口!

除了添加信息之外,我还对界面和功能引发了很多评论和建议,其中一些我已经实现,有些还在等待中。
站点外观经常是投诉之一,这是可以理解的,因为我使用默认的Bootstrap 4主题,并想到“这是暂时的,然后我会穿上漂亮的皮肤”。 关于“没有什么比暂时的更永久的”的笑话甚至不想被复制。
然后,当然活动开始减少,但是站点上仍然有一些活动用户,并且该站点继续充满信息。 在2月中旬发布时,该网站提供了86个游戏的227个mod ,而在本出版物发布时,该网站拥有130个游戏的323 mod 。
你为什么在这里写呢?
首先,讲一个明显的道义故事:“该接口对于程序员来说是方便而愉悦的,对于站点的用户来说根本是不方便的”。 尽管论文很平庸-应该定期提醒。
其次-邀请粉丝深入研究代码或绘制和旋转界面。 也许该站点的主题会引起您的兴趣,并且您会希望对它的开发有所帮助;-)
如果您有兴趣,那么该站点的整个源代码都位于github上 。
PS网站视频浏览