梨园改版

梨园改版并更新了,所以写点儿这次的思路和想法,也是一个记录。虽然梨园是在戏考的服务器上作为托管的独立网站存在,小豆子也并非其所有人,但其实每一位访客、每一位资料提供人都是这个站的一分子,都应该了解一下这次改版的思路。

这次改版的一个动力其实来自合意太爷的老唱片网站。四月底五月初的时候帮着重新做了老唱片的网站,做完这个之后,一看只剩下梨园还没有动了,于是趁着热乎劲儿,一鼓作气完成了这个改版。

至于老唱片网站的改版动力,其实是来自旧服务平台要在六月底到期的这个具体截止期限。因为不准备续期这个旧服务器了,而网站方面只剩下老唱片和梨园两个还在使用旧的平台,所以才需要在六月底前完成这个搬迁。

相对于老唱片网站外观上显著的改版,梨园这次改版从视觉效果上看基本是微调。页面布局上做了一些减法,配色装饰未变。当然,最重要的是让网页适应了手机和其他移动设备的屏幕大小,这在今天这个移动时代来说是必须的,而在多少年前是不需要考虑的。

在多少年前更想不到的是今天井喷般出现的珍贵资料。其实前几年梨园的更新记录就很说明问题,从2018年开始,网站的更新频率其实是下降了很多,然后到2019年更新了一次后就没有再更新了。这倒不是和新冠疫情有什么关系,最主要的因素就是因为忙别的活儿而无暇顾及录音资料的整理。而正是这期间,越来越多的珍贵资料冒了出来,由很多同好们通过诸如微博、B站、喜马拉雅等平台分享出来,让人应接不暇。因此,梨园在整理这些资料的进度上已经不能跟上步伐,而同时,只提供音频资料也已经不适应时代了。想当年提供全剧录音是一个很不容易的事情,因为网络存储空间和本身上传下载速度所限,大文件都还要分成若干份下载然后再用一个批处理文件给拼合在一起才能使用。而在今天,连麒老牌上世纪三十年代的《斩经堂》电影视频都可以完完整整地出现在网络上,那可更是多少年前想不到的事情。

所以这次梨园改版的思路就是把网站做成一个类似于目录索引的界面,哪里有什么资料,除了考证其演出的时间、地点、场面、演员等信息外,不限于只把其音频文件放到站上供大家下载,而是可以直接指向这个资料源。同一个资料,如果有不同的源(比如在B站和在油管),或者不同形式(比如原始录音和根据录音配像的视频),都在一个名目下列出。

改版的想法几年前就有,一直没有动笔。这次被要到期的服务器赶着做完了,同时重写了很多数据库的查询,优化了算法。动笔写代码之馀,顺便动笔,怀念一下当年那个硬件上低配置的网络时代,沧海桑田,现在的网络生态真是变化了不少。从那时起就有这样一批分享珍贵资料的诸同好支撑着梨园,到今天仍然有许多新同好的加入,在各种平台上做着分享,这种“独乐乐不如众乐乐”的精神倒是没有随着岁月和技术的更迭而被消磨掉,反而越发强大,实在是梨园网站之幸,也是吾辈之幸。

新的搜索框架

上个周末,终于收到了从国内寄来的理发推子。在小豆花的巧手帮助下,得剃了一个自今年龙抬头之后的第一个头,清爽多了。从来没有留过这么长的头发。虽然远到不了可以甩发的境界,但是鬓角的长毛已经快可以撕扎地“哇呀呀”了。

本地进入了所谓“第三阶段”的“重启”,不过有鉴于那么多地方在重启之后重新爆发新的疫情,对于这个重启也不是很乐观。另外好像媒体对于“重启”有什么误解,之前都是在说因为疫情按下了“暂停键”,那么社会恢复了不是应该按“继续键”么?“重启”是什么路数?播着一半儿的戏暂停了之后,难道不应该要继续听么?为什么要从头听?

在常态化防控的日子里,基本上每天都是在家上班。因为不需要上下班跑通勤,也就有了些时间做一些平时没空做的事情。比如最近一个时期网站的更新就更频繁了。具体情况等到年底总结时再细说。最近有空写了些代码,把拖了很久的剧目考略的图片搜索功能完成了。

这次完成的其实不止是图片的搜索功能,而是完成了一个搜索的框架,可以用在其他小站的搜索上。以现在的琐记为例,搜索被分为“人物”和“事件”两种类型,只能同时搜索一种数据。这次考略的搜索更新,既保留了这种可以筛选类型的选项,同时也增加了一个可以搜索所有类型的选项。比如搜索“曹操”的话,出来的全部结果,既包含了有曹操的剧目介绍,也包含了有曹操形象的图片。当然,在这个大的结果里还是可以进一步筛选的。

搜索结果
搜索结果

这个新的搜索框架最终会推广到其他小站上,同时会在戏考的首页增加被呼吁了很久的搜索功能。这个搜索将会覆盖戏考所有小站的资料类型。比如搜一下“马连良”马先生,出来的既有他的藏本剧本,也有他本人的人物介绍和相关事件,还有他编演的剧目介绍以及剧照,等等,一网打尽。

考略的新搜索将会进行一段时间的测试,在后台完善已有代码的同时,完成新框架的一个“高级搜索”的界面。在这个页面中,可以构建更复杂的筛选,比如1943年上海黄金大戏院的演出条目,或者带有曹操的戏画。

等新搜索全部部署完毕后,再来打个招呼。希望到那时疫情不再是搜索大热了。

手机上的戏考

昨天终于更新了戏考网站上的布局设计,主要是 CSS 的修改。现在如果您用手机访问戏考及其名下的小站的话,您会看到重新排布的适用于手机小屏幕的页面。而如果您是用普通电脑的话,页面布局则不会改变。

手机上的戏考
手机上的戏考

想做这个手机版的页面(或者说让网页适合在手机环境下显示)很久了,一直没有时间来做。慢说编写网页,近一年来其实也没有写什么文章或者书评,光在网站上更新内容了。现在总算完成了这个拖了很久的计划。

据后台统计显示,目前戏考网站的访客中有40%以上是用手机来访问的,而在今天这个移动上网时代,有一个手机版的页面其实挺重要的,而如何兼顾到电脑端也很重要。现在不少网站都专门为手机做一个新的网址,如 m.xikao.com 其实也是一个选择,但是这样的结果是每一个页面都会有两个网址,不好。这次的改版是由 CSS 直接判断客户端屏幕的大小进而据此布局,即所谓的响应式设计,感觉更好一些。

不过网站上有一些页面内容还在使用旧式的 table 标签来定义表格,而其灵活性不如 div,所以现在这些页面在手机上显示不够完美。这些会在接下来的日子里进行调整,好在大部分页面没有用 table 标签。

诸位戏考的手机访客这些年辛苦了,毕竟一直对着那么小的屏幕浏览着移动友好度为零的网站,却迟迟不见改观 表情。权作送给大家的圣诞礼物吧。

《国剧大成》

《国剧大成》这套书,是二十世纪六十年代末在台湾的张伯谨根据自己所藏的京剧剧本及中央研究院所收的诸本整理的京剧剧本集。

记得十四年前刚看到这套书的时候,还以为张伯谨与张伯驹有什么关系呢。后来知道俩人的关系也就如李宗仁和李宗义一样——没有关系 表情

这套收了将近六百个本子的书可以与五十年代隔海相望的大陆出版的《京剧汇编》相媲美。按照书的序言,原计划“第一期先印四百出,第二期再印四百出,均以一百出订为一集,共八集”。这八百出的本子还差了两百出,但集数已经是十二集了。不清楚在出版过程中出了什么问题。而且按照剧目的排序,从吉庆戏开始,夏商周以降直到最后一出民国戏《阎瑞生》,时间线已经走完一遍了,不像还能再继续出的架势。而且这套书在剧目编号上自己已经混乱了:第三集第一出《斩熊虎》应该是总计的第99出剧本,被编号为85,这个问题直到第九集才调整过来。

《国剧大成》由当时在台的国防部总政治作战部国剧研究发展委员会出版,出书的目的也是为了和对岸打对台。因为当时在台湾演出所用的本子,“甚至于偶得一二种毛贼江婆监制的剧本”,演员“如获至宝”,对“其中所改窜重写之处,无由校正,其中蕴积之宣传毒素亦不提防”。所以,系统整理出版这批老剧本,是配合“中华文化复兴运动”的政治任务。京剧百年来凡此大型工程,乃至其自身的兴衰荣辱,无一不有政治力量于中左右,两岸皆同,国共两党可真是同宗同源。所谓豁牙子吃肥肉——谁也别说谁。

书中所收的剧本,其中一大部分来自于以前的《戏考》,从剧情介绍到剧本本身,都是直接搬来用的。还记得《戏考》那《狸猫换太子》的大谜团吗?显然张伯谨在整理他手中剧本的时候,也发现了《戏考》里没有三本《狸猫换太子》这一奇怪的现象,但由于《国剧大成》的剧目排序是完全按照朝代来的,若是头、二本之后接一个四本就太不像样子了,于是就把四本直接改成“三本”登在了书里。这个办法虽然看起来好,但由于二本与四本之间的故事完全不衔接,加上有《戏考》原书做比较,还是很容易戳穿的。

鉴于《国剧大成》与《戏考》的这些重合,最初为了避免重复录入,在把目录登在网站上的时候,把同名的剧目都择掉了。不过这么按名目而非具体内容淘汰,有时候也会出现“错杀”的情况。比如后来发现《国剧大成》里的《锁五龙》就是全本的,包括前面单雄信踹唐营等情节,所以后来又在总目里补上了,但因为当时编号已经定下来了,再把这个本子挤回去势必造成诸多剧本编号的更改,于是就暂时把它的编号排在了最后。

《国剧大成》
《国剧大成》

所以这就是本次要谈的一个事情:把《国剧大成》的剧本重新编号。每一集所有剧本都会按照正常顺序排号,即便与《戏考》一模一样的本子,也会有一个《国剧大成》02系的编号;但是这些重复的本子将不会在网站的总目里显示出来。这样的话,虽然总目的编号将会出现跳号的情况(比如02008036《下南唐》之后就接02008040《五台山》了),但如果日后认真比较发现有些同名的本子其实与《戏考》所载是不同的,则只需把这个本子加回到总目里即可,它后面的剧本编号不会受到任何影响。

重新编号的工作大约会用一个月的时间做好,期间会再比对《国剧大成》与《戏考》中同名剧本的异同。

尽管《国剧大成》收了很多与《戏考》相同的剧本,但是这套书还是在包含了很多别的书里没有见过的剧本,比如很多《封神》戏、《西游》戏的本子,又比如很多连台本戏,像四本的《七擒孟获》、十本的《九莲灯》、六本的《双尽忠》等,如陶希圣在序言中所说:“此类均为我未曾见知而颇感趣味之戏剧”。

在《国剧大成》的本子重新编号前,做个说明,顺便把这套书的一些情况介绍一下,做个笔记。

剧本编号调整

上回说了《戏考》的新发现,接下来需要做的就是把站上被第二版《戏考》打乱的剧本顺序重新排列回第一版的原状,并把漏掉的八个剧本补回来。

由于每个剧本的编号都是唯一的,因此这个调整需要一步一步来,先把“鸦占鸾巢”的本子挪回原位,再把腾出来的编号标注上正确的本子。幸好多年前的编号升位已经为这种情况做了打算,所以真正受影响的的本子并不多。

虽然这次发现了八个“新”剧本,但是这次编号调整,其实多出来十个本子。有两出戏:《蝴蝶杯》和《大名府》,原来照书本的目录每一个剧目配了一个编号,这次比较《戏考》的演变,发现其实这两出戏各分前后本,因此每个剧目其实是两个本子,共计四个。所以这次调整顺便把这两出戏的后本也编了号。

旧号变新号的具体安排如下,预计将花一周时间调整好。回头见。

剧本编号调整详表
剧本编号调整详表

师承谱图

一年多前,菊坛世系谱正式上线。今年初,菊坛世系谱正式整合到梨园百年琐记,算来刚好半年。

在菊坛世系谱还是独立测试的时候,也许您注意到了在人物族谱下,还有一个不能点击的“师承”链接。当初的打算是,像世系族谱那样,做一个师承谱图,用来更清晰视觉化地显示每一个艺人在艺术上的传承关系。

现在,这个功能正式在梨园百年琐记的人物页面中激活了。首批上线的是根据早年在网上流传的《相声师承关系总表》整理出来的相声演员师承关系,并且根据这些年的种种拜师事件做了相应的补充。如果您想从头看起,可以点击相声创始人张三禄的这个条目,一点点地展开,看看这一脉相承的关系谱。

像族谱中考虑到干亲一样,这次做的页面也考虑到了相声界代拉师弟这一特殊的师承关系,比如当您进入朱阔泉的页面时,会看到与其同门的常连安,是由张寿臣代拉的。这条信息,不光是显示出“张寿臣代拉”的小字,还通过把人物连接虚线化来直观表现。另外,若在琐记那边有对应的拜师收徒的事件条目,则相应的链接也会出现在这个谱图中。与族谱中的婚姻关系的那个小图标类似,这里也放了一个表示拜师事件的小图标,并注以年份。

除了相声界外,有一些零星的京剧界师承的资料,比如裘门的,作为测试之用而加入了数据库,尚有大量的信息需要补充进来。这些都需要日后慢慢来做。不少细节需要随做随改,不过大样子不会变了,所以,现在端出来与大家共享。梨园百年琐记的更新记录已经做了相应的调整,整合进来师承关系的更新记录。

谱图这种事儿不需要多介绍,很直观,所以就不再絮烦了。

引用一下两个多月前小范围测试时的话来总结这个师承谱图:“还是图形化了的数据看得清晰。谁是师祖宗,哪个是徒孙孙,一目了然”。是这么回事儿 表情

京剧剧目考略的升级

屈指算来,京剧剧目考略都有将近八年的历史了。

八年间,除了增加和修正剧目介绍外,考略并没有太大的变化(除了随大流的那次改版以及之后增加了个“重名剧目”的页面外)。

从去年年底开始,考略在后台做了不少新功能的测试,现在是时候推出来公开测试了——俗称公测……

这次升级最显著的变化就是,考略在剧目文字介绍的基础上,增加了配图,包括剧照、脸谱、画谱等类型(视频截屏不算其内,否则无止境)。首批有将近700张配图加入到了相应剧目的条目中。这个数字肯定还会增长,有太多的图片需要数据化,并配上相应的文字索引,以便更好地被大家搜索及使用。戏考的各小站,从剧本的数字化整理开始,不断地向各种形式的原始京剧资料进发,将它们一一数字化。

数据库化图片这个事儿,也是早年的一个想法,直到今年才得以实现。最初的打算是做一个独立小站来运营,后来觉得还是把这个作为一个功能依托在京剧剧目考略下比较好,因为那里的数据都是以剧目为中心的。相应的图片,应以剧目为中心,进而扩散开来。

其他功能显而易见,就不多提了,大家一看便知。戏考主页也做了相应的调整,以配合考略的这次升级。其实图片这块儿也是说得太多,俗语曰:“画意能达万言”。这么明显的功能,无需在此絮絮叨叨 表情

戏考十三岁!

戏考十三周岁了!日子过得真快。

截至目前,戏考所有剧本录入的完成比率是44.9%,也就是说,再有个十几年二十几年,手头所有的剧本就可以全部实现数字化了。当然,前提是没有新剧本入账。

没有新剧本入账的前提有些不现实。正准备借着戏考过生日,更新一下总目,又是一批剧本。鉴于增加基数会拉低完成率,所以先在前面记录了一下“扩招”前的比率:44.9%。若以总数计,共2311个本子,包括8个已知存在但暂时没有到手的。

新增的这批本子,有两个来源:一个是民国时候的《剧学月刊》。该杂志自1932年创刊,历五卷;金仲荪为主任,程砚秋为副主任,徐凌霄任主编,在“剧学”二字上下了很大功夫,有很多学术性很强的文章。该刊不定期刊载一些皮黄和昆腔的本子,有些戏在今天来看还是很罕见的。2006年的时候合意太爷据该刊第一卷第八期所收《敲骨求金》剧本整理出来了文字版本,转眼八年,这个本子才得随着《剧学月刊》这批本子一起提上整理的日程。

另一个来源是《马祥麟演出剧目集》,共两本,查资料显示非正式出版物。据网友水牌子观测,错别字还是挺多的。

今天晚了,新增剧本的目录明天登到站上,也会来 Blog 上一报,顺便看一下百分比降了几何。

告别菊坛世系谱

菊坛世系谱的数据整合到梨园百年琐记中已经有两个星期了,目前来看一切正常,很顺利,无缝对接。除了世系谱首页之外,所有其他链接点进去后都会被转向到琐记那边相应的页面。

所以现在要做的最后一步就是把世系谱首页的这扇闸拉上,把进入世系谱首页的网友转到琐记的“世家”页面。上次说过,在做这项工作前,要来这里与世系谱做最后的道别。

细想一下,其实这还不是最后一步,所有自动跳转启用后,过一大段时间,当 trees.xikao.com 不再被人访问的时候,还需要把这个地址从 DNS 列表中清除出去,那会儿可能又要来一次“最后的道别”。“那会儿”距今尚有时日,先说一下这次的感想吧。

这次通过世系谱接触到的编程思路,是一个全新的领域,包括整个页面的布局,如何合理且不过分堆积出一个图谱来,都是一个挑战。数据库表格的设计,虽然早在多少年前就已经知道如何去做,算法上如何去推演各种人物关系,但是真到实际应用上,还是有需要推敲的地方,有要优化的地方。世系谱最早的数据其实已经有一些与琐记是重合的了,比如一个人的性别,这个后来在两站整合之前就已经共用一个新表了。再比如世系谱上显示的人物的基本信息,从生卒到行当,乃至照片,都用到了琐记的数据,直接调用琐记的表格。也正因为此,两站合二为一其实是早该在规划时就想到的事情。只不过那会儿脑筋有些僵硬,没有想好如何在琐记现有的结构上增加这些东西。现在回头看一看整合,其实挺容易的嘛。

说到琐记的人物照片,世系谱在最初调用这些照片的时候只是把原图引用过来,显示的时候把尺寸按比例缩小而已。举例说明,某人的照片大小是 40KB,300px 乘 200px 大小,当世系谱调用它的时候,这个 40KB 的文件还是被下载下来了,只不过以 75px 乘 50px 大小的比例显示出来。虽然 40KB 在今天来讲不算多大,但严格意义上讲,网页的加载速度还是会因此变慢了一些。所以后来琐记在生成缓存数据的时候,增加了一项任务,就是把新增的人物照片先按比例缩小,另存成一个新文件,在世系谱那边加载的时候,所选用的就是这些只有一、两 KB 大小的缩略图,大大优化了页面的加载。

这个自动为新图片生成缩略图的小段程序,也很快就被用到了戏考剧本的配图上。

菊坛世系谱虽然关掉了,但是这个小站从构思开始,就给小豆子带来了一种全新的工作体验。即便是最后与琐记的整合,也促进了戏考其他小站在程序上的优化,比如一套新的获取更新记录的函数,可以更好地嵌入到戏考新的首页中。这些改变,从外到内,都与世系谱有很紧密的关系。

今天我们在此与世系谱道别,也接近一个辞旧迎新的日子。新桃换旧符,问世一年的世系谱虽然关掉了,但是小豆子将一直记着这一年来由于它促进戏考的这场大规模编程优化与整合的经历,也希望戏考能够继续时不时地产生出新鲜的想法,并付诸实施,把更多的戏曲资源更系统地数字化,呈现给大家。

停留在测试版的菊坛世系谱站标
停留在测试版的菊坛世系谱站标

小改进

据说“小赌怡情”,也有说“小酒怡情”的。不管怎么说,这里边儿的中心思想就是说偶尔做点儿别的不常做的,总是“怡情”的。编程之于整理文字音频资料来说,对小豆子就是怡情的,一种调剂。

戏考的小站们自从1月份改版之后,这半年间,网页上并没有什么大的改动,倒是陆陆续续地做了很多小的改进和新增了些小功能,一直觉得每个改动都不算大,不值得特意开一篇 Blog 来介绍。现在一来过了半年了,二来积累的也有不少了,所以总结性地归纳一下,也算留个记号,以后回过头来看戏考网页上的设计,好歹是个见证。

按照小站们的顺序依次点一下。

今日·Unicode 问答集:这个页面以前一直是 HTML 的,终于改成了 PHP 并套用了统一的模板。这个问答集的内容可有年头了,有些网站在提及 Unicode 的时候还连锅把它给端过去,全不看看里面还提到“剧本”啦一类与他们不相关的内容。抄都不认真。

今日·去世信息:首页的去世信息,在人名边加上了简单的生卒信息以及剧种行当。

今日·分隔符:首页里罗列的更新信息,每一条最初是用顿号(、)来分隔的,后来发现因为有些事件标题中本身会带顿号,连在一起便产生歧异,所以改成了斜线(/)。

京剧剧本·录入动态:首页按日期显示最近的录入状态。

京剧剧本·录入人:统计页中,把原先罗列的录入人按照首字分组显示,且每个人的名字都链接到了一个显示此人录入了哪些剧本的搜索页。

梨园百年琐记·资料卡:每个人物的页面右上方增加了一个简明的资料卡,包含照片、生卒、分类、科班院校、老唱片等基本信息。以前这些文字信息都在人物生平的下方,只有照片在页面的右上方。这次提升与重新规整,更清晰。并增加了相应的世系谱图链接,自然是来自菊坛世系谱小站。

京剧剧目考略·重名剧目:新的重名剧目页可以直观地显示出那些同名但不同内容的剧目。

京剧剧目考略·书目:剧目页面中,提到的书目增加了搜索链接,可以通过此查找到其他基于同一本书创编的剧目。

红毹艺话·学习了:每一个录音旁增加了一个红色的加号,名曰“学习了”。如果您觉得这个录音对您有帮助,或者就是单纯地觉得它好,那么请点一下这个加号,会使旁边的小计数器增长。这个就是一种对该录音的某种心情表达,与梨园里录音旁的“叫好”是一个意思,只不过这些录音都不太适合“叫好”,才用了一个别的名字而已。

菊坛世系谱·干亲:这个曾经特别说过,可参见这里

菊坛世系谱·频道聚合:现在菊坛世系谱也有 RSS 频道聚合了,您可以订阅到您的阅读器(呜呼,Google Reader 却已亡故了),这样就不会错过任何一次更新了。