diff options
-rw-r--r-- | commands/hugobuilder.go | 18 | ||||
-rw-r--r-- | commands/server.go | 3 | ||||
-rw-r--r-- | testscripts/commands/hugo.txt | 4 | ||||
-rw-r--r-- | testscripts/commands/hugo_configdev_env.txt | 19 | ||||
-rw-r--r-- | testscripts/commands/hugo_configdev_environment.txt | 22 | ||||
-rw-r--r-- | testscripts/commands/hugo_configprod.txt | 18 |
6 files changed, 77 insertions, 7 deletions
diff --git a/commands/hugobuilder.go b/commands/hugobuilder.go index 20e800aca..fa194e000 100644 --- a/commands/hugobuilder.go +++ b/commands/hugobuilder.go @@ -990,9 +990,23 @@ func (c *hugoBuilder) loadConfig(cd *simplecobra.Commandeer, running bool) error cfg := config.New() cfg.Set("renderToDisk", (c.s == nil && !c.r.renderToMemory) || (c.s != nil && c.s.renderToDisk)) watch := c.r.buildWatch || (c.s != nil && c.s.serverWatch) - if c.r.environment != "" { - cfg.Set("environment", c.r.environment) + if c.r.environment == "" { + // We need to set the environment as early as possible because we need it to load the correct config. + // Check if the user has set it in env. + if env := os.Getenv("HUGO_ENVIRONMENT"); env != "" { + c.r.environment = env + } else if env := os.Getenv("HUGO_ENV"); env != "" { + c.r.environment = env + } else { + if c.s != nil { + // The server defaults to development. + c.r.environment = hugo.EnvironmentDevelopment + } else { + c.r.environment = hugo.EnvironmentProduction + } + } } + cfg.Set("environment", c.r.environment) cfg.Set("internal", maps.Params{ "running": running, diff --git a/commands/server.go b/commands/server.go index a288bb2c8..ad432037c 100644 --- a/commands/server.go +++ b/commands/server.go @@ -546,9 +546,6 @@ func (c *serverCommand) PreRun(cd, runner *simplecobra.Commandeer) error { c.doLiveReload = !c.disableLiveReload c.fastRenderMode = !c.disableFastRender c.showErrorInBrowser = c.doLiveReload && !c.disableBrowserError - if c.r.environment == "" { - c.r.environment = hugo.EnvironmentDevelopment - } if c.fastRenderMode { // For now, fast render mode only. It should, however, be fast enough diff --git a/testscripts/commands/hugo.txt b/testscripts/commands/hugo.txt index 9907f5258..60f7ffe71 100644 --- a/testscripts/commands/hugo.txt +++ b/testscripts/commands/hugo.txt @@ -5,13 +5,13 @@ stdout 'Pages.*|1' stdout 'Total in' checkfile public/index.html checkfile public/p1/index.html -grep 'IsServer: false' public/index.html +grep 'IsServer: false;IsProduction: true' public/index.html -- hugo.toml -- baseURL = "http://example.org/" disableKinds = ["RSS", "sitemap", "robotsTXT", "404", "taxonomy", "term"] -- layouts/index.html -- -Home|IsServer: {{ .Site.IsServer }}| +Home|IsServer: {{ .Site.IsServer }};IsProduction: {{ hugo.IsProduction }}| -- layouts/_default/single.html -- Title: {{ .Title }} -- content/p1.md -- diff --git a/testscripts/commands/hugo_configdev_env.txt b/testscripts/commands/hugo_configdev_env.txt new file mode 100644 index 000000000..758f4fc96 --- /dev/null +++ b/testscripts/commands/hugo_configdev_env.txt @@ -0,0 +1,19 @@ +# Test the hugo command. +env HUGO_ENV=development + +hugo +grep 'myparam: dev§' public/index.html + +-- hugo.toml -- +baseURL = "http://example.org/" +disableKinds = ["RSS", "sitemap", "robotsTXT", "404", "taxonomy", "term"] +-- layouts/index.html -- +myparam: {{ site.Params.myparam }}§ +-- layouts/_default/single.html -- +Title: {{ .Title }} +-- config/development/params.toml -- +myparam = "dev" +-- content/p1.md -- +--- +title: "P1" +--- diff --git a/testscripts/commands/hugo_configdev_environment.txt b/testscripts/commands/hugo_configdev_environment.txt new file mode 100644 index 000000000..037148178 --- /dev/null +++ b/testscripts/commands/hugo_configdev_environment.txt @@ -0,0 +1,22 @@ +# Test the hugo command. +env HUGO_ENVIRONMENT=development + +hugo +grep 'myparam: dev§' public/index.html + +hugo -e production +grep 'myparam: §' public/index.html + +-- hugo.toml -- +baseURL = "http://example.org/" +disableKinds = ["RSS", "sitemap", "robotsTXT", "404", "taxonomy", "term"] +-- layouts/index.html -- +myparam: {{ site.Params.myparam }}§ +-- layouts/_default/single.html -- +Title: {{ .Title }} +-- config/development/params.toml -- +myparam = "dev" +-- content/p1.md -- +--- +title: "P1" +--- diff --git a/testscripts/commands/hugo_configprod.txt b/testscripts/commands/hugo_configprod.txt new file mode 100644 index 000000000..ac046b205 --- /dev/null +++ b/testscripts/commands/hugo_configprod.txt @@ -0,0 +1,18 @@ +# Test the hugo command. + +hugo +grep 'myparam: §' public/index.html + +-- hugo.toml -- +baseURL = "http://example.org/" +disableKinds = ["RSS", "sitemap", "robotsTXT", "404", "taxonomy", "term"] +-- layouts/index.html -- +myparam: {{ site.Params.myparam }}§ +-- layouts/_default/single.html -- +Title: {{ .Title }} +-- config/development/params.toml -- +myparam = "dev" +-- content/p1.md -- +--- +title: "P1" +--- |