全站通知:

开发者文档

来自黑神话:悟空WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

本页用于描述本Wiki已有设计、代码的思路和实现,并简述了我们的开发原则。

关于MediaWiki(简称MW)和Web开发,请参阅相关文档。

版本

最新信息请参阅 特殊:版本。 本节更新于截至2024年5月。

Bwiki会定期升级Wiki版本,请注意相关通知。在版本变更后,需要测试所有的模板、模块,以防某些特性变化导致bug。

Wiki:

  • MediaWiki: 1.37.0
  • Semantic MediaWiki: 4.0.0

前端


原则

优先级: 可用性 >> 可维护性 >> 美观 >> 新特性新技术

Wiki需要考虑未来数年的稳定维护。因此,相比于酷炫的效果和复杂的实现,简单可用更重要。

请参阅 帮助:模板 中的: 单一功能原则 和 KISS原则。


模板

允许我们重用结构和内容。

关于模板的整体思路,请参阅:帮助:模板

我们使用独立模板页模式在单独页面维护帮助文档。这些文档位于帮助命名空间,模板位于模板命名空间。

所有的模板都需要详细的说明文档,供使用者、维护者参阅。

前端

请务必多写注释

最新信息请参阅 特殊:版本 和浏览器 DevTools(按F12开启)。

主页

描述主页的结构和相关模板

CSS

核心文件:

BWiki的CSS有多重覆盖,包括mediawiki、vector皮肤、BWiki官方、本Wiki的DIY。

因此,修改CSS时需要谨慎和仔细的测试。

例如,可能由多个CSS对同一个位置设定颜色,新CSS需要注意优先级和影响。已有的CSS也可能超过其设计影响范围。

善用浏览器DevTools,能节省大量精力。

Javascript

核心文件:

BWiki已经引入了jQuery,但由于加载不稳定,请优先使用原生JS。

缓存

Bwiki的静态资源有缓存,约半小时。

请参见社区文档 缓存

机器人

API: wukong/api.php

请注意限制机器人的操作频率。

在执行批量操作时,请务必先在少量页面测试,再进行大规模修改。

虽然Wiki会保留操作记录,但是批量的错误操作仍需要时间恢复,因此务必要小心谨慎。

机器人需要的cookie(SESSDATA)通常是手填,但是也可以从浏览器存储中自动读取。

请参阅社区文档 基于Python的API示例