5.12我又回到银厂沟,来到当年被埋的地方,满目青山,已经没有一丝地震留下的痕迹。大自然的自愈能力很强,人心却还有不可磨灭的伤痕。如果没有特殊情况,几乎每一年,我都要回到这里,祭奠当初一起埋在废墟里却没能活着出来的人,这是一个承诺,我坚持了十六年。
记得一周年回来的时候,满目苍凉,大地的伤口还在流血,我给那几座坟茔点上蜡烛,烧了纸钱,风把纸钱的灰扬起,像飘飞的魂魄。然后就下起了雨,我没有离开,而是坐在废墟上痛哭。哭完之后,我看到一只白色的蝴蝶,它在我眼前飞舞,在细雨中飞舞,仿佛在诉说。我感动于某种卑微生命的灵动,我想,它是那些死难者的化身,我和它之间存在着一条通道,相互慰安。
从那以后,每一年的5.12,我来到那片山野,就会看到白色的蝴蝶,它在我面前飞舞,或停在蒲儿根的黄色花朵上面,静静地和我相互凝视。早几年,天气不尽人意,大都是阴天和下雨,从第五年开始,天气渐渐地好起来,有阳光,白色的蝴蝶也有了光亮,照着我灰暗的心灵。
记得十四周年之际,因为上海疫情,我没有如约而来,只写下了这样的文字:“更早的年份,此时我应该在成都,会在这个早晨,前往受难地——银厂沟,去看那盛开的野花,黄色的花白色的花,还有不死的蝴蝶,白色的蝴蝶黄色的蝴蝶,那是不灭的魂魄。我还会在那里,和死去的朋友交流,我听得到他们的声音,从天堂里破空而来的声音,每一个亡灵都在诉说,而活着的人缄默无言。以前,每年我都要烧些纸钱给他们,作为一种刻骨铭心的祭奠,可是,此时我被囚禁家中,是个废物。我同样想念成都的朋友们,每一年,他们都会等候着我,就想等待一只再生的蝴蝶归来。十四年,十四次等待,这一次落空。”
去年,十五周年。张丰、一惟、郭晶陪我去银厂沟。在路上时,我对他们说起了白色的蝴蝶和那些野花,我只要想起那片山地,就会想到白色的蝴蝶,它似乎是我失落在那片山地的魂魄,我去祭奠亡灵,其实也是去找回自己的魂魄,一年找回一点,一点一点的新生,直至死亡。那天,我烧完新出版的《地震三书》之后,白色的蝴蝶出现了。我对那只白蝴蝶说,你停一停,让我拍张照片,它应声悠然停在花朵上,我拍完照,它才再次翩翩起舞。它和我有种默契,基于一种信任,和共同的守望。
今天,我在上山路边的一家小店,买了纸钱和蜡烛,来到山上,情绪还是有波动,烧完纸钱,我四处寻找那白色的蝴蝶,找了好大一会,没有找到。心中伤感难于平复,就当眼泪夺眶而出之际,我看到一只白蝴蝶,从浓密的草丛中飞了出来。见到它,就像见到多年的老友。它在我面前飞舞,和我交流,诉说着这一年来的悲欢,相互的挂念与安慰。我和它呆了一个多小时,才不舍地和它告别。十六年,白蝴蝶从未离开,它一直在我心里,微小翅膀振动着良心和道义,成为我心底最柔软似铁的一部分。这世上,很多朋友都会走失,我想那只白蝴蝶永远不会。地震过去十六年了,疫情也过去一年半了,很多人已经忘记它们,我想白蝴蝶还有那些和我们一样的人,永远不会。
-->
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_rightside": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_duturandom": {
"html":`
`,
"script":[]
}
, "gg_square": {
"html":`
`,
"script":[]
}
, "gg_topbanner": {
"html":`
`,
"script":[]
}
, "gg_middlesquare": {
"html":`
`,
"script":[]
}
, "gg_dutu": {
"html":`
`,
"script":[]
}
, "gg_botline": {
"html":``,
"script":[]
}
, "gg_dututop": {
"html":`
`,
"script":[]
}
, "gg_shipintop": {
"html":`
`,
"script":[]
}
, "gg_inContent": {
"html":`
`,
"script":[]
}
, "gg_shipinrandom": {
"html":``,
"script":[]
}
, "gg_sideSticky": {
"html":`
`,
"script":[]
}
, "gg_bottombanner": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_marquee": {
"html":`
`,
"script":[]
}
}
const adEnv={
"gg_header": {
"html":``,
"script":[{"type":"text/javascript","exec":` var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; `},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-hb/adn.wnx2.js","async":""},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-video/WenxuecityPlayer.js","async":"async"}]
}
}
const wxcEnv = {
"base":{
"exe":[],
"src":[
{"src": "/news/js/recommendednews.js","defer":"true"},
{"src":"/js/wxcFunc.js","defer":"true"}
]
},
"func":{
"exe":[
//展示评论
'function showMoreComments(){let n = 3;for(let i=0;i
2){dom.hide();}}$("#showallcomment").show();$("#showlesscomment").hide();};',
],
"src":[
//图片,搜索,QR code
{"src": "/news/js/view.js?v=05132024"},
//计数器
{"src":"//count.wenxuecity.com/service/count/script/do.php?type=news&id=125564170&n=0&out=jsval","defer":"true"},
]
}
}
function wxcCode(){
wxcEnv.base.exe.forEach(x=>{
let tag = buildAdcode(x);
document.head.append(tag);
})
wxcEnv.base.src.forEach(src => {
let tag = buildSrc(src)
document.head.append(tag);
});
wxcEnv.func.exe.forEach(x=>{
let tag = buildAdcode(x);
document.body.append(tag);
})
wxcEnv.func.src.forEach(src => {
let tag = buildSrc(src)
document.body.append(tag);
});
}
function adcode(){
let adkey = Object.keys(ads);
adkey.forEach(x=>{
let code = ads[x].html;
let div = document.getElementById(x);
if(div)div.innerHTML = code;
ads[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.body.append(tag);
}else{
let tag = buildSrc(s);
document.body.append(tag);
}
})
})
}
function baseCode(){
let baseKeys = Object.keys(adEnv);
baseKeys.forEach(x=>{
adEnv[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.head.append(tag);
}else{
let tag = buildSrc(s);
document.head.append(tag);
}
})
})
}
function buildAdcode(script){
let tag = document.createElement('script');
tag.innerHTML = script;
return tag;
}
function buildSrc(obj){
let keys = Object.keys(obj);
let tag = document.createElement("script");
keys.forEach(key=>{
tag.setAttribute(key, obj[key]);
})
return tag ;
}