summaryrefslogtreecommitdiffstats
path: root/tpl
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-11-12 10:03:56 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-11-17 11:01:46 +0100
commit60dfb9a6e076200ab3ca3fd30e34bb3c14e0a893 (patch)
tree810d3d7ca40a55045fec4a0718eb7728621495e4 /tpl
parent2e0465764b5dacc511b977b1c9aa07324ad0ee9c (diff)
Add support for multiple staticDirs
This commit adds support for multiple statDirs both on the global and language level. A simple `config.toml` example: ```bash staticDir = ["static1", "static2"] [languages] [languages.no] staticDir = ["staticDir_override", "static_no"] baseURL = "https://example.no" languageName = "Norsk" weight = 1 title = "På norsk" [languages.en] staticDir2 = "static_en" baseURL = "https://example.com" languageName = "English" weight = 2 title = "In English" ``` In the above, with no theme used: the English site will get its static files as a union of "static1", "static2" and "static_en". On file duplicates, the right-most version will win. the Norwegian site will get its static files as a union of "staticDir_override" and "static_no". This commit also concludes the Multihost support in #4027. Fixes #36 Closes #4027
Diffstat (limited to 'tpl')
-rw-r--r--tpl/urls/init_test.go3
-rw-r--r--tpl/urls/urls.go10
2 files changed, 8 insertions, 5 deletions
diff --git a/tpl/urls/init_test.go b/tpl/urls/init_test.go
index 6630f13d3..a678ee6b1 100644
--- a/tpl/urls/init_test.go
+++ b/tpl/urls/init_test.go
@@ -18,6 +18,7 @@ import (
"github.com/gohugoio/hugo/deps"
"github.com/gohugoio/hugo/tpl/internal"
+ "github.com/spf13/viper"
"github.com/stretchr/testify/require"
)
@@ -26,7 +27,7 @@ func TestInit(t *testing.T) {
var ns *internal.TemplateFuncsNamespace
for _, nsf := range internal.TemplateFuncsNamespaceRegistry {
- ns = nsf(&deps.Deps{})
+ ns = nsf(&deps.Deps{Cfg: viper.New()})
if ns.Name == name {
found = true
break
diff --git a/tpl/urls/urls.go b/tpl/urls/urls.go
index d89069901..a9f8f4f76 100644
--- a/tpl/urls/urls.go
+++ b/tpl/urls/urls.go
@@ -26,13 +26,15 @@ import (
// New returns a new instance of the urls-namespaced template functions.
func New(deps *deps.Deps) *Namespace {
return &Namespace{
- deps: deps,
+ deps: deps,
+ multihost: deps.Cfg.GetBool("multihost"),
}
}
// Namespace provides template functions for the "urls" namespace.
type Namespace struct {
- deps *deps.Deps
+ deps *deps.Deps
+ multihost bool
}
// AbsURL takes a given string and converts it to an absolute URL.
@@ -109,7 +111,7 @@ func (ns *Namespace) RelLangURL(a interface{}) (template.HTML, error) {
return "", err
}
- return template.HTML(ns.deps.PathSpec.RelURL(s, true)), nil
+ return template.HTML(ns.deps.PathSpec.RelURL(s, !ns.multihost)), nil
}
// AbsLangURL takes a given string and converts it to an absolute URL according
@@ -121,5 +123,5 @@ func (ns *Namespace) AbsLangURL(a interface{}) (template.HTML, error) {
return "", err
}
- return template.HTML(ns.deps.PathSpec.AbsURL(s, true)), nil
+ return template.HTML(ns.deps.PathSpec.AbsURL(s, !ns.multihost)), nil
}