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 ;
}