在網誌加上Live2D看板娘
Why?
記得以前有看過別人的網誌加上了一個會動的看板娘,就覺得「哎這什麼啊太有味道了」,瀏覽網誌的時候,碰到無聊的段落或是需要思考的段落,游標就可以去逗弄角落的看板娘,很有趣不是嗎?
於是趁著最近時間很多,心血來潮就在自己的網誌實驗看看。
How?
在網路找到這位的博客有手把手的教學,於是就跟著教學手把手的做出來。簡單來說,就是把Github裡的兩個專案:live2d-widget
(注入html的js)和live2d_api
(live2d model相關)clone到網誌的資料夾裡,然後做一些必要的更動。在這裡感謝兩位專案作者的貢獻。
照著步驟做完後,就會發現──怎麼會跑出ReferenceError: initWidget is not defined
啊!對於對javascript完全不懂、網頁前端也是一知半解的我來說,打擊之沉重,可想而知。
不過幸好還有ChatGPT對吧?就和GPT-4o一起討論、推敲,總算是想出一個workaround。原來,問題是來自initWidget沒有被綁到global的window上,所以在autoload.js裡呼叫initWidget時,不知道它指的就是window.initWidget。在/src/index.ts
裡加上下面這行:
1 | (window as any).initWidget = initWidget; |
就行了。

接著又碰到另一個問題:在waifu-tips.js
裡用到動態query的方式來取用live2d model,用Hexo部署的話會有問題。於是修改了一下/src/model.ts
裡的判斷條件,讓它每次取用live2d model都是透過靜態路徑(${this.cdnPath}model/${target}/index.json
)。這就是不用CDN的下場嗎?
都是一些亂七八糟的做法呢!明明都有GPT-4o可以請教了…因為我的目的只是要正常顯示live2d看板娘,所以一當看到看板娘正常顯示,也顧不得這麼多了,能動就好!
Result
結果還挺不錯的呢!雖然Kanna只是站在那邊沒有什麼表情,這樣就很滿意了。話又說回來,網誌的功能還這麼陽春、連文章都還沒開始寫,就花了一天時間做這個看板娘,算是不務正業吧?不管啦,這裡是我的空間,我的random space,做無聊事在這裡是被允許的!
動動你的游標,和角落的看板娘互動看看吧。