os.Getenv

安全性

預設情況下,當使用 os.Getenv 函數時,Hugo 允許訪問以下環境變數:

  • CI 環境變數
  • 任何以 HUGO_ 開頭的環境變數

若要訪問其他環境變數,請調整您的網站配置。例如,若要允許訪問 HOMEUSER 環境變數,可以使用以下設置:

hugo.
     
security:
  funcs:
    getenv:
    - ^HUGO_
    - ^CI$
    - ^USER$
    - ^HOME$
[security]
  [security.funcs]
    getenv = ['^HUGO_', '^CI$', '^USER$', '^HOME$']
{
   "security": {
      "funcs": {
         "getenv": [
            "^HUGO_",
            "^CI$",
            "^USER$",
            "^HOME$"
         ]
      }
   }
}

深入了解 Hugo 的 安全政策

範例

{{ getenv "HOME" }} → /home/victor
{{ getenv "USER" }} → victor

在建置您的網站時,您可以傳遞變數值:

MY_VAR1=foo MY_VAR2=bar hugo


export MY_VAR1=foo
export MY_VAR2=bar hugo

然後在模板內檢索這些值:

{{ getenv "MY_VAR1" }} → foo
{{ getenv "MY_VAR2" }} → bar