From 1352bc880df4cd25eff65843973fcc0dd21b6304 Mon Sep 17 00:00:00 2001 From: Joshua Wong Date: Wed, 26 Feb 2020 00:58:07 +0800 Subject: [PATCH] Add hugo.IsProduction function Fixes #6873 --- common/hugo/hugo.go | 4 ++++ common/hugo/hugo_test.go | 4 ++++ docs/content/en/functions/hugo.md | 5 +++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/common/hugo/hugo.go b/common/hugo/hugo.go index 62d923bf0..037880836 100644 --- a/common/hugo/hugo.go +++ b/common/hugo/hugo.go @@ -54,6 +54,10 @@ func (i Info) Generator() template.HTML { return template.HTML(fmt.Sprintf(``, CurrentVersion.String())) } +func (i Info) IsProduction() bool { + return i.Environment == EnvironmentProduction +} + // NewInfo creates a new Hugo Info object. func NewInfo(environment string) Info { if environment == "" { diff --git a/common/hugo/hugo_test.go b/common/hugo/hugo_test.go index 5be575b62..8840a9e9e 100644 --- a/common/hugo/hugo_test.go +++ b/common/hugo/hugo_test.go @@ -31,5 +31,9 @@ func TestHugoInfo(t *testing.T) { c.Assert(hugoInfo.BuildDate, qt.Equals, buildDate) c.Assert(hugoInfo.Environment, qt.Equals, "production") c.Assert(string(hugoInfo.Generator()), qt.Contains, fmt.Sprintf("Hugo %s", hugoInfo.Version())) + c.Assert(hugoInfo.IsProduction(), qt.Equals, true) + + devHugoInfo := NewInfo("development") + c.Assert(devHugoInfo.IsProduction(), qt.Equals, false) } diff --git a/docs/content/en/functions/hugo.md b/docs/content/en/functions/hugo.md index d615fa721..26069633d 100644 --- a/docs/content/en/functions/hugo.md +++ b/docs/content/en/functions/hugo.md @@ -33,7 +33,7 @@ hugo.Version `hugo` returns an instance that contains the following functions: hugo.Environment -: the current running environment as defined through the `--environment` cli tag. +: the current running environment as defined through the `--environment` cli tag hugo.CommitHash : the git commit hash of the current Hugo binary e.g. `0e8bed9ccffba0df554728b46c5bbf6d78ae5247` @@ -41,7 +41,8 @@ hugo.CommitHash hugo.BuildDate : the compile date of the current Hugo binary formatted with RFC 3339 e.g. `2002-10-02T10:00:00-05:00` - +hugo.IsProduction +: returns true if `hugo.Environment` is set to the production environment {{% note "Use the Hugo Generator Tag" %}} We highly recommend using `hugo.Generator` in your website's ``. `hugo.Generator` is included by default in all themes hosted on [themes.gohugo.io](https://themes.gohugo.io). The generator tag allows the Hugo team to track the usage and popularity of Hugo.