“小熊猫角色管理系统”(Red Panda Character Information Management System,简称RCIMS)是现在网站使用的插件,主要目的是处理当前的角色信息栏问题,也是当前用来快速处理信息栏的插件,作为一个没有代码基础只能靠AI处理的粗糙插件,RCIMS插件自然难以称得上优秀好用,但是对于这个网站来说有着很大的价值与意义,所以这里我们会介绍一下这个插件。

制作RCIMS的开端
RCIMS的开端是关于信息栏的制作,在此之前,我们已经通过额外CSS和HTML完成了信息栏的制作,包括默认折叠的信息栏界面和在手机端的宽度适配,但是这样的办法依然是通过在单独的文章页面一个一个填入信息栏的HTML区块实现,如果只是简单的角色介绍,那么这其实无伤大雅,但是这个网站的定位更像是架空世界观的网络百科,角色内容将会是相当重要且庞大的部分,一旦网站的角色栏需要重新设计,在网站后期的维护将会带来相当多不必要的麻烦,所以引入类似Fandom的信息栏编辑很重要。

这其实也是未来插件的更新方向,就是让信息栏的设置可以尽可能接近Fandom的模式。
艰难的设计与制作
因为没有代码基础,代码只能通过AI进行不断地试错和优化,最开始的插件为“可视化角色信息栏”(“visual-character-info-box”),也就是固定模板的可视化编辑,然而在实际的试错里,可视化编辑的难度过高,尤其是在Wordpress的区块编辑器里经常出现无法显示编辑的按钮,最终我选择妥协。
而现在RCIMS插件的思路来源于早期的试错中,AI经常误认为这样的可视化编辑是在管理员的后台操作而非编辑器里,也是因此我最终决定将原本的“角色信息栏编辑”改为“角色系统”,简单来说就是最后的前端效果交给设计好的CSS和JS脚本,而编辑这些工作留在管理员面板。所以RCIMS插件的版本号是从2.0开始的而非1.0。
这个插件的操作流程是这样的:
- 在角色列表进入创建界面,输入固定格式的标题,然后在各个对应的项目里填入内容,最后完成创建并且保存。
- 在创建过程的开始或结束后,角色信息栏会生成一个识别码(Identity Code,即IDC,这样的简称是为了和现实中常用的ID区分)。
- 在实际的文章或页面编辑里插入信息栏,这个信息栏的插入有两个方法,一个是通过代码编辑器或者区块编辑器的自定义HTML区块输入短代码,另一个是在区块编辑器的“角色信息栏”按钮,后者将是这个插件最艰难的部分。

而对于实际的程序来说至少要做到以下内容:
- 创建一个自定义文章类型,将角色信息栏作为一类特别的文章保存。
- 生成需要的IDC,并且和角色的信息数据一起保存。
- 通过设计的页面来完成信息栏的内容输入以及管理。
- 通过短代码处理器完成IDC的任务。
- 注册一个固定的区块按钮进入区块编辑器。
- 完成基础的兼容和稳定,不会有明确频繁的报错。
也是在完成这部分设计后,我又让AI设计了相当多的插件,其中最接近完成的是一个名为“角色资料系统”(“character-profile-system”)的插件,这个插件除了最后的调用中出现问题,其他方面都基本完成。
关于使用区块编辑器按钮的调用方式,最开始我设想的是通过列表选择完成,然而AI后期都没有能完成这个任务,最终我决定通过在输入栏里输入IDC调用的方式解决,至此,这个插件的所有基础的部分都已经明了,我决定给这个插件一个纪念的名字,刚好之前我去成都玩的时候买了个不小的小熊猫玩偶,所以我最终决定给这个插件取名为“小熊猫”(Red Panda),RCIMS的名字也最终确定。
以上这些仅仅只是最基础的要求,实际的制作和测试里有着相当繁多的优化要求,最有代表性的例子就是因为没有跳转页面导致了严重的“白屏”问题。早期这个插件频繁出现大量的白屏,进行完成创建、调用、编辑保存、删除等等基础操作都会进入白屏影响使用,这个是后来通过“钩子”才解决的。其他的还有很多,例如在编辑页面排版的优化让项目排布更加紧凑,并且删除默认的文章输入栏,以避免划拉又臭又长页面;给IDC在列表直接显示并且设置快速复制的按钮,而不是去上方地址栏的灰色字体里找post复制。
而在实际的测试中也一样困难重重。通义的AI在php后很喜欢在结束的?>行后加上空白的内容,导致一启动就会出现报错,一般来说一个php文件就是“The plugin generated 6 characters of unexpected output during activation”,也就是“php文件数乘6”的错误输出。
不过至少现在我们完成了,虽然和最开始设想的Fandom信息栏的再现目标相去甚远,并没有完成最开始设想的内容,但是基本的内容都已经完成了,这也就是现在的RCIMS插件。
RCIMS的文件
RCIMS最终有6个文件,除了主要的php文件,还有3个Javascript脚本和2个CSS文件,3个脚本本质是针对编辑器注册、前端显示和后台编辑的逻辑交互,最终总计大小不到50kb,目前所有的插件压缩包大小都会在8~15kb之间浮动,大小都很小。
RCIMS的使用
- 启用RCIMS之后,后台会出现对应的项目,点击就会进入角色列表。
- 点击“添加新角色”,进入创建页面,在标题输入固定格式的表头内容(中文名+英文名),然后填写项目内容,最后在原本的发布栏里点击“创建角色”。
- 复制得到的IDC,IDC在你进入创建页面的时候就已经出现在了页面最下方,也可以在创建后从列表里快速复制。
- 在编辑页面里调用,选择“角色信息栏”的区块后输入IDC,或者在自定义HTML区块里输入短代码:
[rxims_idc="xxxxxx"]