diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 169674acbb9..aa7785f929c 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -741,3 +741,30 @@ themeconfigdirparam: {{ site.Params.themeconfigdirparam }} } } + +// TODO(beo) find a better place for this. +func TestReproCommentsIn10947(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +baseURL = "https://example.com" +-- content/mysection/_index.md -- +--- +title: "My Section" +--- +-- layouts/index.html -- +Sections: {{ if site.Sections }}true{{ end }}| + + +` + b := NewIntegrationTestBuilder( + IntegrationTestConfig{ + T: t, + TxtarString: files, + }, + ).Build() + + b.AssertFileContent("public/index.html", "Sections: true|") + +} diff --git a/resources/page/site.go b/resources/page/site.go index 3243e9b39be..67b15cd8a3e 100644 --- a/resources/page/site.go +++ b/resources/page/site.go @@ -43,6 +43,9 @@ type Site interface { // Returns all Pages in this Site. Pages() Pages + // Returns all the top level sections. + Sections() Pages + // A shortcut to the home Home() Page @@ -164,6 +167,10 @@ func (s *siteWrapper) Pages() Pages { return s.s.Pages() } +func (s *siteWrapper) Sections() Pages { + return s.s.Sections() +} + func (s *siteWrapper) Home() Page { return s.s.Home() } @@ -285,6 +292,10 @@ func (t testSite) Sites() Sites { return nil } +func (t testSite) Sections() Pages { + return nil +} + func (t testSite) GetPage(ref ...string) (Page, error) { return nil, nil }