mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-29 02:12:05 -05:00
parent
831d23cb4d
commit
8378358857
4 changed files with 22 additions and 8 deletions
|
@ -55,6 +55,14 @@ type HugoSites struct {
|
|||
gitInfo *gitInfo
|
||||
}
|
||||
|
||||
func (h *HugoSites) siteInfos() SiteInfos {
|
||||
infos := make(SiteInfos, len(h.Sites))
|
||||
for i, site := range h.Sites {
|
||||
infos[i] = &site.Info
|
||||
}
|
||||
return infos
|
||||
}
|
||||
|
||||
func (h *HugoSites) pickOneAndLogTheRest(errors []error) error {
|
||||
if len(errors) == 0 {
|
||||
return nil
|
||||
|
|
|
@ -369,12 +369,7 @@ func (p *Page) Summary() template.HTML {
|
|||
|
||||
// Sites is a convenience method to get all the Hugo sites/languages configured.
|
||||
func (p *Page) Sites() SiteInfos {
|
||||
infos := make(SiteInfos, len(p.s.owner.Sites))
|
||||
for i, site := range p.s.owner.Sites {
|
||||
infos[i] = &site.Info
|
||||
}
|
||||
|
||||
return infos
|
||||
return p.s.owner.siteInfos()
|
||||
}
|
||||
|
||||
// SearchKeywords implements the related.Document interface needed for fast page searches.
|
||||
|
|
|
@ -424,6 +424,10 @@ func (s *SiteInfo) Hugo() hugo.Info {
|
|||
return s.hugoInfo
|
||||
}
|
||||
|
||||
// Sites is a convenience method to get all the Hugo sites/languages configured.
|
||||
func (s *SiteInfo) Sites() SiteInfos {
|
||||
return s.s.owner.siteInfos()
|
||||
}
|
||||
func (s *SiteInfo) String() string {
|
||||
return fmt.Sprintf("Site(%q)", s.Title)
|
||||
}
|
||||
|
|
|
@ -242,6 +242,7 @@ func TestTemplateFuncs(t *testing.T) {
|
|||
b := newTestSitesBuilder(t).WithDefaultMultiSiteConfig()
|
||||
|
||||
homeTpl := `Site: {{ site.Language.Lang }} / {{ .Site.Language.Lang }} / {{ site.BaseURL }}
|
||||
Sites: {{ site.Sites.First.Home.Language.Lang }}
|
||||
Hugo: {{ hugo.Generator }}
|
||||
`
|
||||
|
||||
|
@ -252,8 +253,14 @@ Hugo: {{ hugo.Generator }}
|
|||
|
||||
b.CreateSites().Build(BuildCfg{})
|
||||
|
||||
b.AssertFileContent("public/en/index.html", "Site: en / en / http://example.com/blog",
|
||||
b.AssertFileContent("public/en/index.html",
|
||||
"Site: en / en / http://example.com/blog",
|
||||
"Sites: en",
|
||||
"Hugo: <meta name=\"generator\" content=\"Hugo")
|
||||
b.AssertFileContent("public/fr/index.html", "Site: fr / fr / http://example.com/blog")
|
||||
b.AssertFileContent("public/fr/index.html",
|
||||
"Site: fr / fr / http://example.com/blog",
|
||||
"Sites: en",
|
||||
"Hugo: <meta name=\"generator\" content=\"Hugo",
|
||||
)
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue