summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrazonyang <razonyang@gmail.com>2024-02-29 23:58:57 +0800
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-03-07 14:04:41 +0100
commit1f48b717c7f1bb9ecdbf8a7f50cbcdc5cf1dcc0a (patch)
treec0a1c264fb899ea45525543e4b74a86a870e6914
parentada3fceea839c2abc0e22eafbb683a4df42f5bae (diff)
Add hugo.IsMultiHost
-rw-r--r--common/hugo/hugo.go6
-rw-r--r--common/hugo/hugo_test.go5
-rw-r--r--resources/page/page_matcher_test.go5
-rw-r--r--testscripts/commands/hugo_is_multihost.txt13
4 files changed, 29 insertions, 0 deletions
diff --git a/common/hugo/hugo.go b/common/hugo/hugo.go
index be43e2a38..4ead647b8 100644
--- a/common/hugo/hugo.go
+++ b/common/hugo/hugo.go
@@ -111,11 +111,17 @@ func (i HugoInfo) Deps() []*Dependency {
return i.deps
}
+// IsMultiHost reports whether each configured language has a unique baseURL.
+func (i HugoInfo) IsMultiHost() bool {
+ return i.conf.IsMultihost()
+}
+
// ConfigProvider represents the config options that are relevant for HugoInfo.
type ConfigProvider interface {
Environment() string
Running() bool
WorkingDir() string
+ IsMultihost() bool
}
// NewInfo creates a new Hugo Info object.
diff --git a/common/hugo/hugo_test.go b/common/hugo/hugo_test.go
index e252dffbe..e76d80000 100644
--- a/common/hugo/hugo_test.go
+++ b/common/hugo/hugo_test.go
@@ -68,6 +68,7 @@ type testConfig struct {
environment string
running bool
workingDir string
+ multihost bool
}
func (c testConfig) Environment() string {
@@ -81,3 +82,7 @@ func (c testConfig) Running() bool {
func (c testConfig) WorkingDir() string {
return c.workingDir
}
+
+func (c testConfig) IsMultihost() bool {
+ return c.multihost
+}
diff --git a/resources/page/page_matcher_test.go b/resources/page/page_matcher_test.go
index e659eb3b5..21f6891d7 100644
--- a/resources/page/page_matcher_test.go
+++ b/resources/page/page_matcher_test.go
@@ -160,6 +160,7 @@ type testConfig struct {
environment string
running bool
workingDir string
+ multihost bool
}
func (c testConfig) Environment() string {
@@ -174,6 +175,10 @@ func (c testConfig) WorkingDir() string {
return c.workingDir
}
+func (c testConfig) IsMultihost() bool {
+ return c.multihost
+}
+
func TestIsGlobWithExtension(t *testing.T) {
c := qt.New(t)
diff --git a/testscripts/commands/hugo_is_multihost.txt b/testscripts/commands/hugo_is_multihost.txt
new file mode 100644
index 000000000..a1147cd73
--- /dev/null
+++ b/testscripts/commands/hugo_is_multihost.txt
@@ -0,0 +1,13 @@
+hugo
+
+stdout 'IsMultiHost: true'
+
+-- hugo.toml --
+title = "Hugo IsMultiHost Test"
+[languages.en]
+baseURL = "https://example.org"
+[languages.zh]
+baseURL = "https://zh.example.org"
+
+-- layouts/index.html --
+{{ warnf "IsMultiHost: %v" hugo.IsMultiHost }}