TROUBLESHOOTING

Site audit

有多種情況可能會在您的發佈網站中產生錯誤,而這些錯誤在建置過程中並未被檢測到。在最終建置之前,執行此稽核。

 
HUGO_MINIFY_TDEWOLFF_HTML_KEEPCOMMENTS=true HUGO_ENABLEMISSINGTRANSLATIONPLACEHOLDERS=true hugo && grep -inorE "<\!-- raw HTML omitted -->|ZgotmplZ|\[i18n\]|\(<nil>\)|(&lt;nil&gt;)|hahahugo" public/

已使用 GNU Bash 5.1 和 GNU grep 3.7 測試。

範例輸出

網站稽核終端機輸出

說明

環境變數

HUGO_MINIFY_TDEWOLFF_HTML_KEEPCOMMENTS=true
即使啟用縮小功能,也保留 HTML 註解。這會優先於站點配置中的 minify.tdewolff.html.keepComments 設定。如果您在執行此稽核時進行縮小並且未保留 HTML 註解,則無法檢測到原始 HTML 被省略的情況。
HUGO_ENABLEMISSINGTRANSLATIONPLACEHOLDERS=true
如果翻譯缺失,則顯示佔位符,而不是預設值或空字串。這會優先於站點配置中的 enableMissingTranslationPlaceholders 設定。

Grep 選項

-i, --ignore-case
忽略模式和輸入資料中的大小寫區分,這樣僅有大小寫不同的字符也能匹配。
-n, --line-number
在每行輸出前加上該行在輸入文件中的 1 基數行號。
-o, --only-matching
只輸出匹配行中非空部分,每個匹配部分將在單獨的輸出行中顯示。
-r, --recursive
以遞歸方式讀取每個目錄下的所有檔案,只有在命令行中出現的符號鏈接才會被跟隨。
-E, --extended-regexp
將模式解釋為擴展正則表達式。

模式

<!-- raw HTML omitted -->
默認情況下,Hugo 在渲染前會從 Markdown 中刪除原始 HTML,並在其位置保留此 HTML 註解。
ZgotmplZ
ZgotmplZ 是一個特殊值,表示不安全內容在運行時達到了 CSS 或 URL 上下文。請參見 詳細資料
[i18n]
如果翻譯缺失,這是代替預設值或空字串的佔位符。
(<nil>)
當將 nil 值傳遞給 printf 函數時,這個字串將出現在渲染的 HTML 中。
(&lt;nil&gt;)
printf 函數返回的值未經 safeHTML 處理時,將出現與上述相同的情況。
HAHAHUGO
在某些情況下,渲染的簡碼可能會包含全部或部分字串 HAHAHUGOSHORTCODE,無論是大寫還是小寫。這在所有情況下都難以檢測,但對輸出的 HAHAHUGO 進行不區分大小寫的搜尋很可能會捕捉到大多數情況,並且不會產生假陽性。