diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-11-12 10:03:56 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-11-17 11:01:46 +0100 |
commit | 60dfb9a6e076200ab3ca3fd30e34bb3c14e0a893 (patch) | |
tree | 810d3d7ca40a55045fec4a0718eb7728621495e4 /tpl | |
parent | 2e0465764b5dacc511b977b1c9aa07324ad0ee9c (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.go | 3 | ||||
-rw-r--r-- | tpl/urls/urls.go | 10 |
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 } |