Site audit
有多種情況可能會在您的發佈網站中產生錯誤,而這些錯誤在建置過程中並未被檢測到。在最終建置之前,執行此稽核。
HUGO_MINIFY_TDEWOLFF_HTML_KEEPCOMMENTS=true HUGO_ENABLEMISSINGTRANSLATIONPLACEHOLDERS=true hugo && grep -inorE "<\!-- raw HTML omitted -->|ZgotmplZ|\[i18n\]|\(<nil>\)|(<nil>)|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 中。 (<nil>)
- 當
printf
函數返回的值未經safeHTML
處理時,將出現與上述相同的情況。 HAHAHUGO
- 在某些情況下,渲染的簡碼可能會包含全部或部分字串 HAHAHUGOSHORTCODE,無論是大寫還是小寫。這在所有情況下都難以檢測,但對輸出的
HAHAHUGO
進行不區分大小寫的搜尋很可能會捕捉到大多數情況,並且不會產生假陽性。