Skip to content

MoegirlPediaInterfaceAdmins/MoegirlPediaInterfaceCodes

Repository files navigation

MoegirlPediaInterfaceCodes

萌娘百科界面代码库

post commit CI MoegirlPediaInterfaceAdmins Project

欢迎来到萌娘百科界面代码库,本仓库由萌娘百科界面管理员所组成的团队维护,旨在以自动化的方式减轻维护界面代码的复杂度。

目前只有萌娘百科的界面管理员可以拥有本仓库的读写权限,如果你是萌娘百科的界面管理员但没有权限,你可以向 U:AnnAngela 获取本仓库的读写权限;不过如果你尚不是界面管理员,我们也欢迎你以下列方式参与到本仓库的维护工作中来。

仓库架构

仓库文件架构

本仓库包含多组文件用以实现不同用途,详情见下。

仓库架构详情

本仓库支持同时管理多个子站点的代码:

仓库 npm 脚本

本仓库包含下列脚本:

  • npm run test 方便检测代码错误
  • npm run format 可修正可被自动修正的错误
  • npm run ci 可通过临时修改镜像源的方式加快 npm ci 速度
  • npm run build 手动编译全部(CSS+JS)代码
    • npm run build:css 手动编译所有 CSS 代码
    • npm run build:js 手动编译所有 JS 代码

自动化流程

  • 每周日 23:00 UTC 会自动触发一次 Generate Polyfill CI;
  • 每天 00:15 UTC(但愿,Github Actions的 cron 延迟真的好高 _(:з」∠)_)会自动触发一次 postCommit CI;
  • 每提交一次 commit(包括提交 pull request 和在 pull request 里提交新的 commit),postCommit CI 会触发;
  • 当 postCommit CI 检测到新内容时,会自动触发一次 Linter test。

编译流程

机器人通过以下流程编译代码,然后提交到萌百:

  • 执行 tsc --project tsconfig.production.json 以编译 *.js 代码;
  • 执行 npx postcss src/**/*.css --base src/ -d dist/ --verbose 以编译 *.css 代码;
  • 根据模板生成 MediaWiki:Gadgets-definition 页面。

如需手动唤起机器人,请到 post commit CI workflow 处,选择 Branchmaster,手动执行该 workflow。

已知问题

参与维护

众人拾柴火焰高,我们欢迎你参与到界面管理工作中来。

提出建议、意见

我们欢迎你在萌娘百科技术实现讨论版提出建议、意见,我们会审慎考虑可行性和成本等因素后作出决定。

提交贡献

提交贡献的原因有很多,可能是发现了 typo,可能你写成了一个小工具,不论如何我们都欢迎你来提交贡献。

但首先,最重要的一点是:务必阅读并遵守 CODE OF CONDUCT.md,否则你的贡献有可能被拒绝。

其次,由于需要确保(虽然永远也不可能出现的)将小工具迁移到 Gadget 名字空间的情况的兼容性,文件名对应了萌娘百科上对应页面的页面名,从而包含了 :,而这导致了本仓库无法在 Windows 上克隆。

所以我们建议你通过以下方式提交贡献:

  • 使用 Linux on Windows with WSL
  • 使用 Linux 系统(可以是远程服务器、本地虚拟机、本地 Docker 容器等);
  • 使用 macOS 系统;
  • 使用 GitHub Codespaces(对个人用户有免费额度)。

然后,我们建议你使用 Visual Studio Code,本仓库专为 VSCode 配置。我们也建议你搭配以下 VSCode 扩展结合本仓库提供的配置以优化体验: