Hugo 更新災難 SOS

2026/01/04

Categories: 技術/程式 Tags:

全文約 573 字,預計閱讀 2 分鐘

前言

架設官網時,一開始用了一個很複雜的主題,必須要最新的 hugo 版本,裝完之後發現太麻煩了,還要用到 docker,就換了一個簡單一點的的主題。

回頭到部落格發文

夭壽,突然發現過往文章 css 格式跑掉了:


查看 git 後發現,原始檔案根本都沒動,而 public 有幾百個檔案有變動。

查看後發現原始文章的 .md 若有用兩組「```」包起來,文字就會變得無法閱讀。

最後聯想到應該是 hugo 版本的問題。

弄了幾小時後…

一直以爲是渲染失敗的問題,查了很久,最後發現如果有對「```」定義語言 1,就能正常渲染成功。

而 Eddie 早期的文章都沒定義,於是就出事了!

把文章的 ``` 全部加上 text

也試過在 config 調整設定,還是無法,最後決定把所有文章都加上 text。

當然幾百個檔案不是可能人工操作的,於是請 AI 同學幫忙生成指令,自動找到對的位置並加上 text 來定義。

# 備份整個 content
cp -r content content_backup

# 只把每組 code block 的開頭空 fence ``` 改成 ```text
find content -name "*.md" -type f | while read file; do
  awk '
    BEGIN { in_code=0 }
    # fence 開頭,空 fence,且不在 code block 裡
    /^```$/ && in_code==0 { print "```text"; in_code=1; next }
    # fence 結束,重置狀態
    /^```$/ && in_code==1 { print; in_code=0; next }
    # 其他行
    { print }
  ' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
done

SOS

這讓我想到《涼宮春日的憂鬱》中,阿虛架網站,圖片一直被非自然力量破壞。

後記

打完文章發現歷史上的今天也掛掉了,架完不到兩週就死亡!

沒事不要亂更新啊!


  1. 在第一個「```」後面打上 html、md、text,即可定義語言。 ↩︎

>> Home