ref: 118b83d74b5caaae6646ec031d59b8ab3491c6b2
parent: adbd5bc47fb48cbf6afa3198aec405500452ee65
author: Bjørn Erik Pedersen <[email protected]>
date: Sun Nov 19 10:44:20 EST 2017
helpers: Properly handle []interface{} as staticDir And now with a proper integration test ...
--- a/helpers/pathspec.go
+++ b/helpers/pathspec.go
@@ -18,6 +18,7 @@
"github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/hugofs"
+ "github.com/spf13/cast"
)
// PathSpec holds methods that decides how paths in URLs and files in Hugo should look like.
@@ -106,7 +107,7 @@
func getStringOrStringSlice(cfg config.Provider, key string, id int) []string {
- if id > 0 {
+ if id >= 0 {
key = fmt.Sprintf("%s%d", key, id)
}
@@ -116,8 +117,8 @@
if sds, ok := sd.(string); ok {
out = []string{sds}
- } else if sdsl, ok := sd.([]string); ok {
- out = sdsl
+ } else if sd != nil {
+ out = cast.ToStringSlice(sd)
}
return out
--- a/hugolib/hugo_sites_multihost_test.go
+++ b/hugolib/hugo_sites_multihost_test.go
@@ -15,6 +15,7 @@
disablePathToLower = true
defaultContentLanguage = "{{ .DefaultContentLanguage }}"
defaultContentLanguageInSubdir = {{ .DefaultContentLanguageInSubdir }}
+staticDir = ["s1", "s2"]
[permalinks]
other = "/somewhere/else/:filename"
@@ -24,6 +25,7 @@
[Languages]
[Languages.en]
+staticDir2 = ["ens1", "ens2"]
baseURL = "https://example.com"
weight = 10
title = "In English"
@@ -30,6 +32,7 @@
languageName = "English"
[Languages.fr]
+staticDir2 = ["frs1", "frs2"]
baseURL = "https://example.fr"
weight = 20
title = "Le Français"
@@ -36,6 +39,7 @@
languageName = "Français"
[Languages.nn]
+staticDir2 = ["nns1", "nns2"]
baseURL = "https://example.no"
weight = 30
title = "På nynorsk"
@@ -57,6 +61,8 @@
s1 := sites.Sites[0]
+ assert.Equal([]string{"s1", "s2", "ens1", "ens2"}, s1.StaticDirs())
+
s1h := s1.getPage(KindHome)
assert.True(s1h.IsTranslated())
assert.Len(s1h.Translations(), 2)
@@ -63,6 +69,8 @@
assert.Equal("https://example.com/", s1h.Permalink())
s2 := sites.Sites[1]
+ assert.Equal([]string{"s1", "s2", "frs1", "frs2"}, s2.StaticDirs())
+
s2h := s2.getPage(KindHome)
assert.Equal("https://example.fr/", s2h.Permalink())