泰山登山的盘道边,有一方摩崖石刻,只有两个字:虫二。
据泰山风景名胜区管委会的介绍,这是清光绪二十五年(1899年)夏天,历下才子刘廷桂的题字。乍看不知所云,拆开才明白,繁体的“風月”二字,去掉外面的边框,剩下的正是“虫二”。意思是风月无边。
这个拆字游戏比刘廷桂还要早。明末张岱在《快园道古》里就记过,徐文长拿“虫二”给人题过斋名。
我知道这个典故,是在二十多年前。2003年秋冬,我开了一个blog,取名“张翼轸的虫二”。年轻时取名字,图的是那点卖弄和潇洒:风月无边,想写什么就写什么。后来改名“理性谈风月”,算是收敛了一些。
只是没想到,二十年后,这个blog真的活成了这两个字的字面意思。域名、服务器、图片、模板,外面的东西一样样没了,只剩里面的笔画。
风月写了十一年
最早的“虫二”寄居在好友王晨昀的主机上,用的是L-blog。后来自己买空间,2006年6月底换成WordPress,把L-blog时代的旧文一股脑导了进去。所以存档里有一大批文章,日期都挤在2006年6月24日和28日,比如那篇《黄霑走了》——黄霑是2004年11月去世的。
7月1日,我在新站上写了一篇只有两行字的《开张》:
2006年7月1日,本blog正式启用。这里记录一下。
那几年写的东西很杂。男装、护肤、影视、八卦,还有一长串“辟谣”:微波炉烧水有害健康、9月4日不要用手机、可乐损害男性生殖能力。后来还结集出了一本《品味·男》。2006年7月,我还写过一篇《我的Google PR》,得意地记下新站一上线PR值就是4。
2013年8月,我写了一篇《推荐我关于投资理财的新Blog》,介绍刚上线三个多月的SeekingBeta。现在回头看,那是一个分岔口。风月这边越写越少,2014年7月2日的《别扭才是“好”植入》,吐槽《变形金刚4》里生硬的牛奶广告,成了最后一篇。
一共1078篇。
那篇推荐文里,我还专门写了一段“为什么我坚信这次能够坚持下去”。只可惜,SeekingBeta这个blog后来也消失了。好在写的东西没断,换了个地方,成了微信公众号EarlETF。对于EarlETF的老读者,这段应该不陌生。最早关注公众号的那批人里,不少就是从理性谈风月一路跟过来的。
边是一层层掉的
最先掉的是earlzhang.com。工作一忙,忘了续费,被人抢注。这个域名到今天还挂在那儿出售,标价2499美元。
后来.net成了正宫,可它也差点没保住。注册它的那家域名商,账户绑的是一个yahoo.com.cn邮箱。雅虎退出中国,邮箱跟着作废。早年登录只要邮箱和密码,几年续一次费,倒也相安无事。前两年那家域名商加上了两步验证,验证码要发到我在香港读书时的手机号,那个号码也早就停了。
于是域名还挂在我名下,我却进不了后台,只能看着它一天天走向过期。
服务器的结局要体面一些。blog年久失修,后来已经打不开了,我在阿里云上把它做成快照和镜像,然后把实例下线。数据库留在镜像里,网站的文件系统却没能保住,当年上传的图片全在里面。
今年1月,借着AI编程的东风,我把镜像重新拉起来,导出MySQL,让大模型帮着写Python脚本,把数据库拆成一篇篇Markdown,按年月归档,放上了GitHub。
文字算是救回来了。但GitHub上那1078个md文件,像极了泰山上那块石头:字一个不少,边框全无。老读者偶尔来问旧文在哪,我只能甩过去一个仓库链接。对方能不能在一堆按月份排好的文件里翻到想看的那篇,就看缘分了。
被人看过的图
转机在10月21日。我本想注册一个earlzhang.pro,纯粹为了弥补.com的遗憾,顺手一查,earlzhang.net竟然释放出来了,自然第一时间在Cloudflare上抢了回来。前因后果,我在另一篇文章里写过。
域名回来了,就想着干脆把blog重新搭起来。要动手,绕不开图片:存档里有170篇文章引用过站内图片,文件早就随服务器一起没了。
我原本已经认命。直到想起来,当年好像在七牛云上存过一份备份。
翻出密钥一查,空间叫earlzhang,里面有1228个文件,其中wp-content/uploads目录下有455个,正是当年blog的上传目录。
这455个文件是怎么来的,比文件本身更有意思。空间配置里,镜像源一栏写着 http://www.earlzhang.net/。七牛的镜像回源是这样运作的:有人通过七牛的域名访问某个文件,空间里没有,七牛就回源站抓一份存下来,以后不再回源。
所以它大概从来不是什么备份。
文件的写入时间,最早是2013年8月24日,最晚是2014年7月6日。也就是说,blog停更前差不多最后一年里,哪篇文章被人点开了,文章里的图就顺手存进了七牛。没人点开的,就没有。
正文引用的351个图片路径,找回了315个。丢掉的36个,大多出自2007到2009年。
我没做备份,读者替我做了。
旧框在别处
要重新做边框,先得知道当年的边框长什么样。我只记得两件事:整体是红色系,题头那五个字拼了好几种字体。
记忆靠不住,就去翻Internet Archive的Wayback Machine。blog.earlzhang.com这个地址,从2004年5月起,它前前后后抓过285次快照。
2008年7月30日那一张,用的是Cutline主题。题头下面一行小字:“用理性的视角去探讨护肤品、时尚、男装、奢侈品、爱情这些风花雪月”。导航只有五项:首页、旧文索引、护肤心得、about、RSS。首页最上面一篇,是前一天写的《CFA Level 1顺利通过》。
2012年元旦那一张,换成了Suffusion主题,导航长成了一棵三层的栏目树。护肤下面分祛痘、美白、防晒、保湿,杂类下面挂着理财、美剧、谣言止于我,还有一个弓道。
这棵栏目树,恰恰是GitHub存档里缺的。今年1月拆数据库时,只留下了标题、日期和正文,每篇文章归在哪个栏目,没有一并导出来。
好在旧链接还记着。那几年的固定链接是 /skin-care/413/ 这种格式,栏目名就嵌在网址里。Wayback的检索接口吐出了5595条blog.earlzhang.com下的历史网址,再加上文章之间互相引用的旧链接,一共对出834组“文章ID—栏目”,781篇文章重新挂回了栏目。
题头也在快照里。2012年那一版的logo图片,Wayback居然也存了一份,435×72像素。“理性”是粗重的宋体,“谈”是朱红的方正静蕾简体,“风月”用的什么字体,我已经想不起来了。
那个“谈”字有来历。2007年4月,方正推出首款个性化字体,字是徐静蕾手写的。我当年是老徐的粉丝,存档里提到她的文章有17篇,从《我中意老徐博客》到《老徐搬家》。这个字体自然不能错过,我立刻写了一篇《让徐静蕾为我手书张翼轸》,还说要改改blog模板,“用徐静蕾写的‘理性谈风月’来替代现在的标准宋体”。后来的题头,静蕾体只留给了中间那个“谈”字。
图片是读者无意中替我存下的,这副旧边框,则一直躺在一家我从没打过交道的非营利机构里。
二十年前的搬家
文字、图片、栏目、题头都齐了,剩下的就是把它们装进一副新框里。
新站用Hugo生成,套了PaperMod主题,点缀色调成暗红,首页挂回那张老题头。浏览器标签页上的小图标,从题头里裁下了那个红色的“谈”字,算是老徐替我写的。全文检索用的是Pagefind,中文也能搜,部署在Cloudflare Pages上。文章地址保留老样子,按年月排,比如 /posts/2006/06/5/。我觉得这样最有时代感。
整理过程中,最费周折的是站内链接。1078篇文章互相引用,旧链接有326处,格式五花八门:/html/y2007/572.html、/index.php/archives/152/、/skin-care/413/、/?p=139。每一种格式,都对应我当年折腾过的一套固定链接方案。
好在WordPress的文章ID从头到尾没变。不管链接长什么样,里面那串数字都能对上存档里的文件名。这326处链接,现在都指回了新站上的对应文章。
二十年前,我在这个blog上写过一篇《Wordpress搬家》,一步一步记录怎么用WP-DBManager备份数据库、在新空间重装、再导入恢复,末了还写一句“由此,大功告成!”
这一次搬家,从导出MySQL、和七牛对账图片、翻Wayback快照,到重写链接、搭站点,脚本全是AI写的。我在旁边看着,偶尔拍个板。工欲善其事,必先利其器,只不过这一回,磨刀的也不是我了。
边框最便宜
重新搭完这个站,我对“虫二”这两个字有了点新的理解。
“边”指的是什么,现在很具体了:域名、服务器、模板、题头。这些东西都会掉,掉了也都补得回来。域名可以再买,服务器可以再租,模板有现成的,连当年的题头和栏目,都能从别人的存档里翻出来。earlzhang.com到今天还在挂牌,肯出2499美元,随时能买回来。
补不回来的,是框里面的笔画。1078篇文字,加上那一年里被人点开过的三百多张图。
说实话,边框补上了,大概也不会有多少人再来读这些十几二十年前的旧文。护肤的说法早就更新了好几轮,当年追过的剧、骂过的人,很多已经没人记得。
于我而言,这件事本来也不太关乎读者。
这些年写公众号,写的是基金和指数,每个数字都要核对,每个判断都要留余地。这是本分,我并不后悔。只是这次整理存档,一篇篇翻回去,还是有点羡慕当年的自己:看不惯郭敬明,就写一篇《最烂莫过郭敬明》;搬家之后的日子就是实的——2006年8月26日那晚,从卢森堡王子为爱放弃王位,一口气写到19寸宽屏显示器,四篇连发。想到什么写什么,没想过谁在看,也没怕过说错。
二十多年前取名“虫二”,我以为“无边”说的是题材,什么都能写。现在才明白,无边的是那段日子本身。
刘廷桂当年在泰山上,是有意把边框拆掉的。这一回,我把边框一条条补回去,为的倒是框里那段没有边的岁月。