mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
common/hugo: Add hugo.IsServer and hugo.IsDevelopment
And deprecate site.IsServer. Closes #11510
This commit is contained in:
parent
274852bcf2
commit
d1b4458536
7 changed files with 41 additions and 6 deletions
|
@ -78,10 +78,22 @@ func (i HugoInfo) Generator() template.HTML {
|
||||||
return template.HTML(fmt.Sprintf(`<meta name="generator" content="Hugo %s">`, CurrentVersion.String()))
|
return template.HTML(fmt.Sprintf(`<meta name="generator" content="Hugo %s">`, CurrentVersion.String()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsDevelopment reports whether the current running environment is "development".
|
||||||
|
func (i HugoInfo) IsDevelopment() bool {
|
||||||
|
return i.Environment == EnvironmentDevelopment
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsProduction reports whether the current running environment is "production".
|
||||||
func (i HugoInfo) IsProduction() bool {
|
func (i HugoInfo) IsProduction() bool {
|
||||||
return i.Environment == EnvironmentProduction
|
return i.Environment == EnvironmentProduction
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsServer reports whether the built-in server is running.
|
||||||
|
func (i HugoInfo) IsServer() bool {
|
||||||
|
return i.conf.Running()
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsExtended reports whether the Hugo binary is the extended version.
|
||||||
func (i HugoInfo) IsExtended() bool {
|
func (i HugoInfo) IsExtended() bool {
|
||||||
return IsExtended
|
return IsExtended
|
||||||
}
|
}
|
||||||
|
@ -99,6 +111,7 @@ func (i HugoInfo) Deps() []*Dependency {
|
||||||
// ConfigProvider represents the config options that are relevant for HugoInfo.
|
// ConfigProvider represents the config options that are relevant for HugoInfo.
|
||||||
type ConfigProvider interface {
|
type ConfigProvider interface {
|
||||||
Environment() string
|
Environment() string
|
||||||
|
Running() bool
|
||||||
WorkingDir() string
|
WorkingDir() string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ import (
|
||||||
func TestHugoInfo(t *testing.T) {
|
func TestHugoInfo(t *testing.T) {
|
||||||
c := qt.New(t)
|
c := qt.New(t)
|
||||||
|
|
||||||
conf := testConfig{environment: "production", workingDir: "/mywork"}
|
conf := testConfig{environment: "production", workingDir: "/mywork", running: false}
|
||||||
hugoInfo := NewInfo(conf, nil)
|
hugoInfo := NewInfo(conf, nil)
|
||||||
|
|
||||||
c.Assert(hugoInfo.Version(), qt.Equals, CurrentVersion.Version())
|
c.Assert(hugoInfo.Version(), qt.Equals, CurrentVersion.Version())
|
||||||
|
@ -38,15 +38,20 @@ func TestHugoInfo(t *testing.T) {
|
||||||
}
|
}
|
||||||
c.Assert(hugoInfo.Environment, qt.Equals, "production")
|
c.Assert(hugoInfo.Environment, qt.Equals, "production")
|
||||||
c.Assert(string(hugoInfo.Generator()), qt.Contains, fmt.Sprintf("Hugo %s", hugoInfo.Version()))
|
c.Assert(string(hugoInfo.Generator()), qt.Contains, fmt.Sprintf("Hugo %s", hugoInfo.Version()))
|
||||||
|
c.Assert(hugoInfo.IsDevelopment(), qt.Equals, false)
|
||||||
c.Assert(hugoInfo.IsProduction(), qt.Equals, true)
|
c.Assert(hugoInfo.IsProduction(), qt.Equals, true)
|
||||||
c.Assert(hugoInfo.IsExtended(), qt.Equals, IsExtended)
|
c.Assert(hugoInfo.IsExtended(), qt.Equals, IsExtended)
|
||||||
|
c.Assert(hugoInfo.IsServer(), qt.Equals, false)
|
||||||
|
|
||||||
devHugoInfo := NewInfo(testConfig{environment: "development"}, nil)
|
devHugoInfo := NewInfo(testConfig{environment: "development", running: true}, nil)
|
||||||
|
c.Assert(devHugoInfo.IsDevelopment(), qt.Equals, true)
|
||||||
c.Assert(devHugoInfo.IsProduction(), qt.Equals, false)
|
c.Assert(devHugoInfo.IsProduction(), qt.Equals, false)
|
||||||
|
c.Assert(devHugoInfo.IsServer(), qt.Equals, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
type testConfig struct {
|
type testConfig struct {
|
||||||
environment string
|
environment string
|
||||||
|
running bool
|
||||||
workingDir string
|
workingDir string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +59,10 @@ func (c testConfig) Environment() string {
|
||||||
return c.environment
|
return c.environment
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c testConfig) Running() bool {
|
||||||
|
return c.running
|
||||||
|
}
|
||||||
|
|
||||||
func (c testConfig) WorkingDir() string {
|
func (c testConfig) WorkingDir() string {
|
||||||
return c.workingDir
|
return c.workingDir
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,11 +31,17 @@ relatedfuncs: []
|
||||||
`hugo.GoVersion`
|
`hugo.GoVersion`
|
||||||
: (`string`) The Go version used to compile the Hugo binary (e.g., `go1.20.4`). {{< new-in "0.101.0" >}}
|
: (`string`) The Go version used to compile the Hugo binary (e.g., `go1.20.4`). {{< new-in "0.101.0" >}}
|
||||||
|
|
||||||
|
`hugo.IsDevelopment`
|
||||||
|
: (`bool`) Returns `true` if `hugo.Environment` is "development".
|
||||||
|
|
||||||
`hugo.IsExtended`
|
`hugo.IsExtended`
|
||||||
: (`bool`) Returns `true` if the Hugo binary is the extended version.
|
: (`bool`) Returns `true` if the Hugo binary is the extended version.
|
||||||
|
|
||||||
`hugo.IsProduction`
|
`hugo.IsProduction`
|
||||||
: (`bool`) Returns `true` if `hugo.Environment` is set to the production environment.
|
: (`bool`) Returns `true` if `hugo.Environment` is "production".
|
||||||
|
|
||||||
|
`hugo.IsServer`
|
||||||
|
: (`bool`) Returns `true` if the site is being served with Hugo's built-in server.
|
||||||
|
|
||||||
`hugo.Version`
|
`hugo.Version`
|
||||||
: (`hugo.VersionString`) The current version of the Hugo binary (e.g., `0.112.1`).
|
: (`hugo.VersionString`) The current version of the Hugo binary (e.g., `0.112.1`).
|
||||||
|
|
|
@ -47,9 +47,6 @@ All the methods below, e.g. `.Site.RegularPages` can also be reached via the glo
|
||||||
.Site.IsMultiLingual
|
.Site.IsMultiLingual
|
||||||
: whether there are more than one language in this site. See [Multilingual](/content-management/multilingual/) for more information.
|
: whether there are more than one language in this site. See [Multilingual](/content-management/multilingual/) for more information.
|
||||||
|
|
||||||
.Site.IsServer
|
|
||||||
: a boolean to indicate if the site is being served with Hugo's built-in server. See [`hugo server`](/commands/hugo_server/) for more information.
|
|
||||||
|
|
||||||
.Site.Language.Lang
|
.Site.Language.Lang
|
||||||
: the language code of the current locale (e.g., `en`).
|
: the language code of the current locale (e.g., `en`).
|
||||||
|
|
||||||
|
|
|
@ -356,7 +356,9 @@ func newHugoSitesNew(cfg deps.DepsCfg, d *deps.Deps, sites []*Site) (*HugoSites,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if we're running in a server.
|
// Returns true if we're running in a server.
|
||||||
|
// Deprecated: use hugo.IsServer instead
|
||||||
func (s *Site) IsServer() bool {
|
func (s *Site) IsServer() bool {
|
||||||
|
helpers.Deprecated(".Site.IsServer", "Use hugo.IsServer instead.", false)
|
||||||
return s.conf.Internal.Running
|
return s.conf.Internal.Running
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -159,6 +159,7 @@ func TestDecodeCascadeConfig(t *testing.T) {
|
||||||
|
|
||||||
type testConfig struct {
|
type testConfig struct {
|
||||||
environment string
|
environment string
|
||||||
|
running bool
|
||||||
workingDir string
|
workingDir string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,6 +167,10 @@ func (c testConfig) Environment() string {
|
||||||
return c.environment
|
return c.environment
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c testConfig) Running() bool {
|
||||||
|
return c.running
|
||||||
|
}
|
||||||
|
|
||||||
func (c testConfig) WorkingDir() string {
|
func (c testConfig) WorkingDir() string {
|
||||||
return c.workingDir
|
return c.workingDir
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,7 @@ type Site interface {
|
||||||
Home() Page
|
Home() Page
|
||||||
|
|
||||||
// Returns true if we're running in a server.
|
// Returns true if we're running in a server.
|
||||||
|
// Deprecated: use hugo.IsServer instead
|
||||||
IsServer() bool
|
IsServer() bool
|
||||||
|
|
||||||
// Returns the server port.
|
// Returns the server port.
|
||||||
|
@ -211,6 +212,7 @@ func (s *siteWrapper) Home() Page {
|
||||||
return s.s.Home()
|
return s.s.Home()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deprecated: use hugo.IsServer instead
|
||||||
func (s *siteWrapper) IsServer() bool {
|
func (s *siteWrapper) IsServer() bool {
|
||||||
return s.s.IsServer()
|
return s.s.IsServer()
|
||||||
}
|
}
|
||||||
|
@ -383,6 +385,7 @@ func (t testSite) GetIdentity() identity.Identity {
|
||||||
return identity.KeyValueIdentity{Key: "site", Value: t.l.Lang}
|
return identity.KeyValueIdentity{Key: "site", Value: t.l.Lang}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deprecated: use hugo.IsServer instead
|
||||||
func (t testSite) IsServer() bool {
|
func (t testSite) IsServer() bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue