萌百东方版记事——その壱

从上海(苏州)回来后学习了几天Lua,给萌百东方板块写了一个模块,使萌百东方版在技术上更先进了一些。

一直以来对THBWiki映射表很感兴趣。对于东方Project的百科而言,映射表可用来控制像诸如角色称号、曲名和符卡之类的内容在全站保持一致。之前还在编辑群里让囧仙介绍过THBWiki的技术情况,其中包含了映射表:

thbwiki之所以有映射
是因为发现有大量名词重复使用
有两个要求
1 全站一致
2 实现1的前提是性能高
于是专门在数据库里开了个数据表
有海写了插件
从一个独立的数据表里读取特别名词
并且这个数据库可以从wiki前台管理
有管理员权限就可以了
这就是映射
也就是专有名词表
其中包括人名,符卡,曲名等一系列

但萌百是没有这个的。我在15年、16年的时候曾经浅显地思考(就是轻轻掠过的那种感觉)过如何实现这个,但完全没打算真正去做这件事。不如说那段时间萌百东方版还处于将之前定下条目规范进行推行的阶段。

不过今年萌百东方版算是真正成立了编辑部,对板块建设的讨论多了起来。我心里对于搞这种「大工程」也稍微有了一点底气。

另一方面,我在学习解析器函数的时候接触到了Mediawiki中模块的概念。在萌百搜索之后发现「碧蓝航线」、「战舰少女」等板块有自己模块,看了文档意识到他们就是用这个来管理角色的属性数据。因此我觉得,在萌百目前的技术框架下,能实现类似映射表的功能就是这个了。

之后就是学习Lua了。找了本Programming in Lua学习了最基础的部分(真的,学了基本的数据类型、结构和函数就完事),然后在英文维基上看了模块的简单教程,再稍微看了看「战舰少女」板块的模块源代码。——怎么说呢,像这样依靠短期学习然后做出结果的体验好像也算头一回?

代码测试成功后就是录入数据了。这个工作让我真正体会到自动化的重要性。各位可以看一下THBWiki的符卡列表,内容非常多。我一开始曾试过手工复制粘贴来构造Lua的table,但速度极慢而且累。所以我琢磨着写个Python脚本来辅助工作(全自动的我可能也写不出来),胡乱估计效率应该提升了十倍以上。之后的音乐和角色称号的数据也写了相应的脚本来帮忙。

不过模块和相应封装好的模板创建之后还是有很多工作要做,毕竟要把这些应用到所有的条目中。

感觉今年对于萌百东方版是重要的一年。首先是云霞真正建立了编辑部,并且对东方条目进行了专题化改造。然后我在上个月把东方的大家族模板重建了,最近成功实现了内容统一控制的模块。之后我打算把东方角色条目规范再优化一下。当然啦,框架再好还是需要内容,这个工作其实才是难啃的。

P.S. 说起来这网站建立两年了才头一回有东方相关的文章?

发表评论

电子邮件地址不会被公开。 必填项已用*标注