diff --git a/hugolib/embedded_shortcodes_test.go b/hugolib/embedded_shortcodes_test.go index f5f4d1eeb..160e36fd5 100644 --- a/hugolib/embedded_shortcodes_test.go +++ b/hugolib/embedded_shortcodes_test.go @@ -66,9 +66,9 @@ func doTestShortcodeCrossrefs(t *testing.T, relative bool) { require.NoError(t, err) require.NoError(t, sites.Build(BuildCfg{})) - require.Len(t, sites.Sites[0].Pages, 1) + require.Len(t, sites.Sites[0].regularPages, 1) - output := string(sites.Sites[0].Pages[0].Content) + output := string(sites.Sites[0].regularPages[0].Content) if !strings.Contains(output, expected) { t.Errorf("Got\n%q\nExpected\n%q", output, expected) diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go index 105435fb8..72b91a123 100644 --- a/hugolib/hugo_sites.go +++ b/hugolib/hugo_sites.go @@ -196,9 +196,9 @@ func (h *HugoSites) renderCrossSitesArtifacts() error { func (h *HugoSites) assignMissingTranslations() error { // This looks heavy, but it should be a small number of nodes by now. - allNodes := h.findAllPagesByNodeTypeNotIn(NodePage) + allPages := h.findAllPagesByNodeTypeNotIn(NodePage) for _, nodeType := range []NodeType{NodeHome, NodeSection, NodeTaxonomy, NodeTaxonomyTerms} { - nodes := h.findPagesByNodeTypeIn(nodeType, allNodes) + nodes := h.findPagesByNodeTypeIn(nodeType, allPages) // Assign translations for _, t1 := range nodes { @@ -213,14 +213,12 @@ func (h *HugoSites) assignMissingTranslations() error { } -// createMissingNodes creates home page, taxonomies etc. that isnt't created as an +// createMissingPages creates home page, taxonomies etc. that isnt't created as an // effect of having a content file. -func (h *HugoSites) createMissingNodes() error { - // TODO(bep) np revisit this on languages -- as this is currently run after the page language distribution (due to taxonomies) - // TODO(bep) np re above, Pages vs. +func (h *HugoSites) createMissingPages() error { // TODO(bep) np check node title etc. - var newNodes Pages + var newPages Pages for _, s := range h.Sites { @@ -231,8 +229,8 @@ func (h *HugoSites) createMissingNodes() error { } if len(home) == 0 { n := s.newHomePage() - s.Nodes = append(s.Nodes, n) - newNodes = append(newNodes, n) + s.Pages = append(s.Pages, n) + newPages = append(newPages, n) } // taxonomy list and terms pages @@ -259,15 +257,15 @@ func (h *HugoSites) createMissingNodes() error { } if !foundTaxonomyPage { n := s.newTaxonomyPage(plural, key) - s.Nodes = append(s.Nodes, n) - newNodes = append(newNodes, n) + s.Pages = append(s.Pages, n) + newPages = append(newPages, n) } if !foundTaxonomyTermsPage { foundTaxonomyTermsPage = true n := s.newTaxonomyTermsPage(plural) - s.Nodes = append(s.Nodes, n) - newNodes = append(newNodes, n) + s.Pages = append(s.Pages, n) + newPages = append(newPages, n) } } } @@ -292,18 +290,18 @@ func (h *HugoSites) createMissingNodes() error { } if !foundSection { n := s.newSectionPage(name, section) - s.Nodes = append(s.Nodes, n) - newNodes = append(newNodes, n) + s.Pages = append(s.Pages, n) + newPages = append(newPages, n) } } } } - if len(newNodes) > 0 { + if len(newPages) > 0 { first := h.Sites[0] - first.AllNodes = append(first.AllNodes, newNodes...) + first.AllPages = append(first.AllPages, newPages...) for i := 1; i < len(h.Sites); i++ { - h.Sites[i].AllNodes = first.AllNodes + h.Sites[i].AllPages = first.AllPages } } return nil @@ -404,7 +402,7 @@ func (h *HugoSites) setupTranslations() { if strings.HasPrefix(site.Language.Lang, p.Lang()) { site.updateBuildStats(p) if shouldBuild { - site.Nodes = append(site.Nodes, p) + site.Pages = append(site.Pages, p) p.Site = &site.Info } } @@ -414,7 +412,7 @@ func (h *HugoSites) setupTranslations() { } if i == 0 { - site.AllNodes = append(site.AllNodes, p) + site.AllPages = append(site.AllPages, p) } } @@ -422,12 +420,12 @@ func (h *HugoSites) setupTranslations() { // Pull over the collections from the master site for i := 1; i < len(h.Sites); i++ { - h.Sites[i].AllNodes = h.Sites[0].AllNodes + h.Sites[i].AllPages = h.Sites[0].AllPages h.Sites[i].Data = h.Sites[0].Data } if len(h.Sites) > 1 { - pages := h.Sites[0].AllNodes + pages := h.Sites[0].AllPages allTranslations := pagesToTranslationsMap(h.multilingual, pages) assignTranslationsToPages(allTranslations, pages) } @@ -524,7 +522,7 @@ func (s *Site) preparePagesForRender(cfg BuildCfg, changed whatChanged) { }(pageChan, wg) } - for _, p := range s.Nodes { + for _, p := range s.Pages { pageChan <- p } @@ -586,7 +584,7 @@ func (h *HugoSites) findPagesByNodeTypeIn(n NodeType, inPages Pages) Pages { } func (h *HugoSites) findAllPagesByNodeTypeNotIn(n NodeType) Pages { - return h.findPagesByNodeTypeNotIn(n, h.Sites[0].AllNodes) + return h.findPagesByNodeTypeNotIn(n, h.Sites[0].AllPages) } // Convenience func used in tests to build a single site/language excluding render phase. diff --git a/hugolib/hugo_sites_build.go b/hugolib/hugo_sites_build.go index f5b6e6809..32185dd4f 100644 --- a/hugolib/hugo_sites_build.go +++ b/hugolib/hugo_sites_build.go @@ -156,7 +156,7 @@ func (h *HugoSites) assemble(config *BuildCfg) error { } } - if err := h.createMissingNodes(); err != nil { + if err := h.createMissingPages(); err != nil { return err } diff --git a/hugolib/hugo_sites_test.go b/hugolib/hugo_sites_test.go index 2a1e32576..1ed4744ca 100644 --- a/hugolib/hugo_sites_test.go +++ b/hugolib/hugo_sites_test.go @@ -84,8 +84,8 @@ func doTestMultiSitesMainLangInRoot(t *testing.T, defaultInSubDir bool) { require.Equal(t, "/blog/en/foo", enSite.Info.pathSpec.RelURL("foo", true)) - doc1en := enSite.Pages[0] - doc1fr := frSite.Pages[0] + doc1en := enSite.regularPages[0] + doc1fr := frSite.regularPages[0] enPerm, _ := doc1en.Permalink() enRelPerm, _ := doc1en.RelPermalink() @@ -217,24 +217,24 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) { assert.Equal(t, "en", enSite.Language.Lang) - if len(enSite.Pages) != 4 { + if len(enSite.regularPages) != 4 { t.Fatal("Expected 4 english pages") } assert.Len(t, enSite.Source.Files(), 14, "should have 13 source files") - assert.Len(t, enSite.AllPages, 9, "should have 8 total pages (including translations)") + assert.Len(t, enSite.AllPages, 28, "should have 28 total pages (including translations and index types)") - doc1en := enSite.Pages[0] + doc1en := enSite.regularPages[0] permalink, err := doc1en.Permalink() assert.NoError(t, err, "permalink call failed") assert.Equal(t, "http://example.com/blog/en/sect/doc1-slug/", permalink, "invalid doc1.en permalink") assert.Len(t, doc1en.Translations(), 1, "doc1-en should have one translation, excluding itself") - doc2 := enSite.Pages[1] + doc2 := enSite.regularPages[1] permalink, err = doc2.Permalink() assert.NoError(t, err, "permalink call failed") assert.Equal(t, "http://example.com/blog/en/sect/doc2/", permalink, "invalid doc2 permalink") - doc3 := enSite.Pages[2] + doc3 := enSite.regularPages[2] permalink, err = doc3.Permalink() assert.NoError(t, err, "permalink call failed") // Note that /superbob is a custom URL set in frontmatter. @@ -277,10 +277,10 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) { frSite := sites.Sites[1] assert.Equal(t, "fr", frSite.Language.Lang) - assert.Len(t, frSite.Pages, 3, "should have 3 pages") - assert.Len(t, frSite.AllPages, 9, "should have 8 total pages (including translations)") + assert.Len(t, frSite.regularPages, 3, "should have 3 pages") + assert.Len(t, frSite.AllPages, 28, "should have 28 total pages (including translations and nodes)") - for _, frenchPage := range frSite.Pages { + for _, frenchPage := range frSite.regularPages { assert.Equal(t, "fr", frenchPage.Lang()) } @@ -387,8 +387,8 @@ func TestMultiSitesRebuild(t *testing.T) { enSite := sites.Sites[0] frSite := sites.Sites[1] - require.Len(t, enSite.Pages, 4) - require.Len(t, frSite.Pages, 3) + require.Len(t, enSite.regularPages, 4) + require.Len(t, frSite.regularPages, 3) // Verify translations assertFileContent(t, "public/en/sect/doc1-slug/index.html", true, "Hello") @@ -414,7 +414,7 @@ func TestMultiSitesRebuild(t *testing.T) { nil, []fsnotify.Event{{Name: "content/sect/doc2.en.md", Op: fsnotify.Remove}}, func(t *testing.T) { - require.Len(t, enSite.Pages, 3, "1 en removed") + require.Len(t, enSite.regularPages, 3, "1 en removed") // Check build stats require.Equal(t, 1, enSite.draftCount, "Draft") @@ -437,12 +437,12 @@ func TestMultiSitesRebuild(t *testing.T) { {Name: "content/new1.fr.md", Op: fsnotify.Create}, }, func(t *testing.T) { - require.Len(t, enSite.Pages, 5) - require.Len(t, enSite.AllPages, 11) - require.Len(t, frSite.Pages, 4) - require.Equal(t, "new_fr_1", frSite.Pages[3].Title) - require.Equal(t, "new_en_2", enSite.Pages[0].Title) - require.Equal(t, "new_en_1", enSite.Pages[1].Title) + require.Len(t, enSite.regularPages, 5) + require.Len(t, enSite.AllPages, 30) + require.Len(t, frSite.regularPages, 4) + require.Equal(t, "new_fr_1", frSite.regularPages[3].Title) + require.Equal(t, "new_en_2", enSite.regularPages[0].Title) + require.Equal(t, "new_en_1", enSite.regularPages[1].Title) rendered := readDestination(t, "public/en/new1/index.html") require.True(t, strings.Contains(rendered, "new_en_1"), rendered) @@ -457,7 +457,7 @@ func TestMultiSitesRebuild(t *testing.T) { }, []fsnotify.Event{{Name: "content/sect/doc1.en.md", Op: fsnotify.Write}}, func(t *testing.T) { - require.Len(t, enSite.Pages, 5) + require.Len(t, enSite.regularPages, 5) doc1 := readDestination(t, "public/en/sect/doc1-slug/index.html") require.True(t, strings.Contains(doc1, "CHANGED"), doc1) @@ -475,8 +475,8 @@ func TestMultiSitesRebuild(t *testing.T) { {Name: "content/new1.en.md", Op: fsnotify.Rename}, }, func(t *testing.T) { - require.Len(t, enSite.Pages, 5, "Rename") - require.Equal(t, "new_en_1", enSite.Pages[1].Title) + require.Len(t, enSite.regularPages, 5, "Rename") + require.Equal(t, "new_en_1", enSite.regularPages[1].Title) rendered := readDestination(t, "public/en/new1renamed/index.html") require.True(t, strings.Contains(rendered, "new_en_1"), rendered) }}, @@ -490,9 +490,9 @@ func TestMultiSitesRebuild(t *testing.T) { }, []fsnotify.Event{{Name: "layouts/_default/single.html", Op: fsnotify.Write}}, func(t *testing.T) { - require.Len(t, enSite.Pages, 5) - require.Len(t, enSite.AllPages, 11) - require.Len(t, frSite.Pages, 4) + require.Len(t, enSite.regularPages, 5) + require.Len(t, enSite.AllPages, 30) + require.Len(t, frSite.regularPages, 4) doc1 := readDestination(t, "public/en/sect/doc1-slug/index.html") require.True(t, strings.Contains(doc1, "Template Changed"), doc1) }, @@ -507,9 +507,9 @@ func TestMultiSitesRebuild(t *testing.T) { }, []fsnotify.Event{{Name: "i18n/fr.yaml", Op: fsnotify.Write}}, func(t *testing.T) { - require.Len(t, enSite.Pages, 5) - require.Len(t, enSite.AllPages, 11) - require.Len(t, frSite.Pages, 4) + require.Len(t, enSite.regularPages, 5) + require.Len(t, enSite.AllPages, 30) + require.Len(t, frSite.regularPages, 4) docEn := readDestination(t, "public/en/sect/doc1-slug/index.html") require.True(t, strings.Contains(docEn, "Hello"), "No Hello") docFr := readDestination(t, "public/fr/sect/doc1/index.html") @@ -531,9 +531,9 @@ func TestMultiSitesRebuild(t *testing.T) { {Name: "layouts/shortcodes/shortcode.html", Op: fsnotify.Write}, }, func(t *testing.T) { - require.Len(t, enSite.Pages, 5) - require.Len(t, enSite.AllPages, 11) - require.Len(t, frSite.Pages, 4) + require.Len(t, enSite.regularPages, 5) + require.Len(t, enSite.AllPages, 30) + require.Len(t, frSite.regularPages, 4) assertFileContent(t, "public/fr/sect/doc1/index.html", true, "Single", "Modified Shortcode: Salut") assertFileContent(t, "public/en/sect/doc1-slug/index.html", true, "Single", "Modified Shortcode: Hello") }, @@ -627,12 +627,12 @@ title = "Svenska" require.Len(t, homeEn.Translations(), 4) require.Equal(t, "sv", homeEn.Translations()[0].Lang()) - require.Len(t, enSite.Pages, 4) - require.Len(t, frSite.Pages, 3) + require.Len(t, enSite.regularPages, 4) + require.Len(t, frSite.regularPages, 3) // Veriy Swedish site - require.Len(t, svSite.Pages, 1) - svPage := svSite.Pages[0] + require.Len(t, svSite.regularPages, 1) + svPage := svSite.regularPages[0] require.Equal(t, "Swedish Contentfile", svPage.Title) require.Equal(t, "sv", svPage.Lang()) require.Len(t, svPage.Translations(), 2) diff --git a/hugolib/menu_test.go b/hugolib/menu_test.go index b5d01aa49..bd186bd9f 100644 --- a/hugolib/menu_test.go +++ b/hugolib/menu_test.go @@ -208,7 +208,7 @@ func doTestPageMenuWithIdentifier(t *testing.T, menuPageSources []source.ByteSou s := setupMenuTests(t, menuPageSources) - assert.Equal(t, 3, len(s.Pages), "Not enough pages") + assert.Equal(t, 3, len(s.regularPages), "Not enough pages") me1 := findTestMenuEntryByID(s, "m1", "i1") me2 := findTestMenuEntryByID(s, "m1", "i2") @@ -246,7 +246,7 @@ func doTestPageMenuWithDuplicateName(t *testing.T, menuPageSources []source.Byte s := setupMenuTests(t, menuPageSources) - assert.Equal(t, 3, len(s.Pages), "Not enough pages") + assert.Equal(t, 3, len(s.regularPages), "Not enough pages") me1 := findTestMenuEntryByName(s, "m1", "n1") me2 := findTestMenuEntryByName(s, "m1", "n2") @@ -264,13 +264,13 @@ func TestPageMenu(t *testing.T) { s := setupMenuTests(t, menuPageSources) - if len(s.Pages) != 3 { - t.Fatalf("Posts not created, expected 3 got %d", len(s.Pages)) + if len(s.regularPages) != 3 { + t.Fatalf("Posts not created, expected 3 got %d", len(s.regularPages)) } - first := s.Pages[0] - second := s.Pages[1] - third := s.Pages[2] + first := s.regularPages[0] + second := s.regularPages[1] + third := s.regularPages[2] pOne := findTestMenuEntryByName(s, "p_one", "One") pTwo := findTestMenuEntryByID(s, "p_two", "Two") @@ -358,9 +358,9 @@ Yaml Front Matter with Menu Pages`) {Name: filepath.FromSlash("sect/yaml1.md"), Content: ps1}, {Name: filepath.FromSlash("sect/yaml2.md"), Content: ps2}}) - p1 := s.Pages[0] + p1 := s.regularPages[0] assert.Len(t, p1.Menus(), 2, "List YAML") - p2 := s.Pages[1] + p2 := s.regularPages[1] assert.Len(t, p2.Menus(), 2, "Map YAML") } diff --git a/hugolib/node.go b/hugolib/node.go index 8c9c8f98a..d77408545 100644 --- a/hugolib/node.go +++ b/hugolib/node.go @@ -103,21 +103,6 @@ type Node struct { lang string } -// The Nodes type is temporary until we get https://github.com/spf13/hugo/issues/2297 fixed. -type Nodes []*Node - -func (n Nodes) Len() int { - return len(n) -} - -func (n Nodes) Less(i, j int) bool { - return n[i].language.Weight < n[j].language.Weight -} - -func (n Nodes) Swap(i, j int) { - n[i], n[j] = n[j], n[i] -} - func (n *Node) Now() time.Time { return time.Now() } diff --git a/hugolib/node_as_page_test.go b/hugolib/node_as_page_test.go index d6645bc54..04a3c30cf 100644 --- a/hugolib/node_as_page_test.go +++ b/hugolib/node_as_page_test.go @@ -79,7 +79,7 @@ Content Page %02d assertFileContent(t, filepath.Join("public", "index.html"), false, "Index Title: Home Sweet Home!", "Home Content!", - "# Pages: 4") + "# Pages: 9") assertFileContent(t, filepath.Join("public", "sect1", "regular1", "index.html"), false, "Single Title: Page 01", "Content Page 01") @@ -170,7 +170,7 @@ func TestNodesWithNoContentFile(t *testing.T) { require.Len(t, homePages, 1) homePage := homePages[0] - require.Len(t, homePage.Data["Pages"], 4) + require.Len(t, homePage.Data["Pages"], 9) assertFileContent(t, filepath.Join("public", "index.html"), false, "Index Title: Hugo Rocks!") diff --git a/hugolib/page.go b/hugolib/page.go index fb2944bff..6184aa0bc 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -1277,7 +1277,7 @@ func (p *Page) prepareData(s *Site) error { switch p.NodeType { case NodePage: case NodeHome: - p.Data["Pages"] = s.Pages + p.Data["Pages"] = s.findPagesByNodeTypeNotIn(NodeHome, s.Pages) case NodeSection: sectionData, ok := s.Sections[p.sections[0]] if !ok { diff --git a/hugolib/page_collections.go b/hugolib/page_collections.go index cb83c77a8..71e40d964 100644 --- a/hugolib/page_collections.go +++ b/hugolib/page_collections.go @@ -17,38 +17,34 @@ import ( "fmt" ) -// TODO(bep) np pages names -// TODO(bep) np this is a somewhat breaking change and should be doc. + release notes: See AllPages vs. "this language only". Looks like it is like this alread, check. +// PageCollections contains the page collections for a site. type PageCollections struct { - // Includes only pages of NodePage type, and only pages in the current language. + // Includes only pages of all types, and only pages in the current language. Pages Pages // Includes all pages in all languages, including the current one. - // Only pages of NodePage type. + // Inlcudes pages of all types. AllPages Pages - // Includes pages of all types, but only pages in the current language. - Nodes Pages - - // Includes all pages in all languages, including the current one. - // Includes pages of all types. - AllNodes Pages - - // A convenience cache for the traditional node types, taxonomies, home page etc. + // A convenience cache for the traditional index types, taxonomies, home page etc. // This is for the current language only. - indexNodes Pages + indexPages Pages + + // A convenience cache for the regular pages. + // This is for the current language only. + // TODO(bep) np consider exporting this + regularPages Pages // Includes absolute all pages (of all types), including drafts etc. rawAllPages Pages } func (c *PageCollections) refreshPageCaches() { - // All pages are stored in AllNodes and Nodes. Filter from those. - c.Pages = c.findPagesByNodeTypeIn(NodePage, c.Nodes) - c.indexNodes = c.findPagesByNodeTypeNotIn(NodePage, c.Nodes) - c.AllPages = c.findPagesByNodeTypeIn(NodePage, c.AllNodes) + c.indexPages = c.findPagesByNodeTypeNotIn(NodePage, c.Pages) + c.regularPages = c.findPagesByNodeTypeIn(NodePage, c.Pages) - for _, n := range c.Nodes { + // TODO(bep) np remove eventually + for _, n := range c.Pages { if n.NodeType == NodeUnknown { panic(fmt.Sprintf("Got unknown type %s", n.Title)) } @@ -66,11 +62,11 @@ func newPageCollectionsFromPages(pages Pages) *PageCollections { // TODO(bep) np clean and remove finders func (c *PageCollections) findPagesByNodeType(n NodeType) Pages { - return c.findPagesByNodeTypeIn(n, c.Nodes) + return c.findPagesByNodeTypeIn(n, c.Pages) } func (c *PageCollections) getPage(n NodeType, path ...string) *Page { - pages := c.findPagesByNodeTypeIn(n, c.Nodes) + pages := c.findPagesByNodeTypeIn(n, c.Pages) if len(pages) == 0 { return nil @@ -99,7 +95,7 @@ func (c *PageCollections) getPage(n NodeType, path ...string) *Page { } func (c *PageCollections) findIndexNodesByNodeType(n NodeType) Pages { - return c.findPagesByNodeTypeIn(n, c.indexNodes) + return c.findPagesByNodeTypeIn(n, c.indexPages) } func (*PageCollections) findPagesByNodeTypeIn(n NodeType, inPages Pages) Pages { @@ -123,7 +119,7 @@ func (*PageCollections) findPagesByNodeTypeNotIn(n NodeType, inPages Pages) Page } func (c *PageCollections) findAllPagesByNodeType(n NodeType) Pages { - return c.findPagesByNodeTypeIn(n, c.Nodes) + return c.findPagesByNodeTypeIn(n, c.Pages) } func (c *PageCollections) findRawAllPagesByNodeType(n NodeType) Pages { diff --git a/hugolib/page_test.go b/hugolib/page_test.go index 86baf44f2..a63ca1c9f 100644 --- a/hugolib/page_test.go +++ b/hugolib/page_test.go @@ -630,9 +630,9 @@ func testAllMarkdownEnginesForPages(t *testing.T, t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, len(pageSources)) + require.Len(t, s.regularPages, len(pageSources)) - assertFunc(t, e.ext, s.Pages) + assertFunc(t, e.ext, s.regularPages) } @@ -740,9 +740,9 @@ func TestPageWithDelimiterForMarkdownThatCrossesBorder(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] if p.Summary != template.HTML("
The best static site generator.1\n
") { t.Fatalf("Got summary:\n%q", p.Summary) @@ -788,9 +788,9 @@ func TestPageWithAdditionalExtension(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] checkPageContent(t, p, "first line.
\nsecond line.
fourth line.
\n") } @@ -802,9 +802,9 @@ func TestTableOfContents(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] checkPageContent(t, p, "\n\nFor some moments the old man did not reply. He stood with bowed head, buried in deep thought. But at last he spoke.
\n\nI have no idea, of course, how long it took me to reach the limit of the plain,\nbut at last I entered the foothills, following a pretty little canyon upward\ntoward the mountains. Beside me frolicked a laughing brooklet, hurrying upon\nits noisy way down to the silent sea. In its quieter pools I discovered many\nsmall fish, of four-or five-pound weight I should imagine. In appearance,\nexcept as to size and color, they were not unlike the whale of our own seas. As\nI watched them playing about I discovered, not only that they suckled their\nyoung, but that at intervals they rose to the surface to breathe as well as to\nfeed upon certain grasses and a strange, scarlet lichen which grew upon the\nrocks just above the water line.
\n\nI remember I felt an extraordinary persuasion that I was being played with,\nthat presently, when I was upon the very verge of safety, this mysterious\ndeath–as swift as the passage of light–would leap after me from the pit about\nthe cylinder and strike me down. ## BB
\n\n“You’re a great Granser,” he cried delightedly, “always making believe them little marks mean something.”
\n") checkPageTOC(t, p, "") @@ -832,9 +832,9 @@ func TestPageWithDate(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] d, _ := time.Parse(time.RFC3339, "2013-05-17T16:59:30Z") checkPageDate(t, p, d) @@ -1266,9 +1266,9 @@ func TestChompBOM(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] checkPageTitle(t, p, "Simple") } diff --git a/hugolib/shortcode_test.go b/hugolib/shortcode_test.go index b2685e2ec..d8b8b411a 100644 --- a/hugolib/shortcode_test.go +++ b/hugolib/shortcode_test.go @@ -69,9 +69,9 @@ title: "Title" t.Fatalf("No error from shortcode") } - require.Len(t, h.Sites[0].Pages, 1) + require.Len(t, h.Sites[0].regularPages, 1) - output := strings.TrimSpace(string(h.Sites[0].Pages[0].Content)) + output := strings.TrimSpace(string(h.Sites[0].regularPages[0].Content)) if strings.HasPrefix(output, "") { output = output[3:] } diff --git a/hugolib/site.go b/hugolib/site.go index 6f8955a2f..d93fbf650 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -1327,14 +1327,14 @@ func (s *Site) buildSiteMeta() (err error) { s.assembleMenus() - if len(s.Nodes) == 0 { + if len(s.Pages) == 0 { return } s.assembleTaxonomies() // TODO(bep) np - for _, p := range s.AllNodes { + for _, p := range s.AllPages { // setNodeTypeVars needs taxonomies p.setNodeTypeVars(s) } @@ -1343,7 +1343,7 @@ func (s *Site) buildSiteMeta() (err error) { s.assembleSections() // TODO(bep) np Site.LastMod - pages := s.Nodes + pages := s.Pages s.Info.LastChange = pages[0].Lastmod return @@ -1418,7 +1418,7 @@ func (s *Site) assembleMenus() { sectionPagesMenu := s.Language.GetString("SectionPagesMenu") sectionPagesMenus := make(map[string]interface{}) //creating flat hash - pages := s.Nodes + pages := s.Pages for _, p := range pages { if sectionPagesMenu != "" { @@ -1486,7 +1486,7 @@ func (s *Site) assembleTaxonomies() { s.Taxonomies[plural] = make(Taxonomy) s.taxonomiesPluralSingular[plural] = singular - for _, p := range s.Nodes { + for _, p := range s.Pages { vals := p.getParam(plural, !s.Info.preserveTaxonomyNames) weight := p.GetParam(plural + "_weight") if weight == nil { @@ -1574,7 +1574,7 @@ func (s *Site) nodeTypeFromSections(sections []string) NodeType { func (s *Site) preparePages() error { var errors []error - for _, p := range s.Nodes { + for _, p := range s.Pages { if err := p.prepareLayouts(); err != nil { errors = append(errors, err) } diff --git a/hugolib/siteJSONEncode_test.go b/hugolib/siteJSONEncode_test.go index cf34fe728..9e2f6ecc2 100644 --- a/hugolib/siteJSONEncode_test.go +++ b/hugolib/siteJSONEncode_test.go @@ -30,7 +30,7 @@ func TestEncodePage(t *testing.T) { _, err := json.Marshal(s) check(t, err) - _, err = json.Marshal(s.Pages[0]) + _, err = json.Marshal(s.regularPages[0]) check(t, err) } diff --git a/hugolib/site_render.go b/hugolib/site_render.go index 9a65987ca..fe7db05f3 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -45,7 +45,7 @@ func (s *Site) renderPages() error { go pageRenderer(s, pages, results, wg) } - for _, page := range s.Nodes { + for _, page := range s.Pages { pages <- page } @@ -183,7 +183,7 @@ func (s *Site) renderSitemap() error { n := s.newNodePage(NodeSitemap) // Include all pages (regular, home page, taxonomies etc.) - pages := s.Nodes + pages := s.Pages page := s.newNodePage(NodeSitemap) page.URLPath.URL = "" @@ -239,7 +239,7 @@ func (s *Site) renderRobotsTXT() error { // renderAliases renders shell pages that simply have a redirect in the header. func (s *Site) renderAliases() error { - for _, p := range s.Nodes { + for _, p := range s.Pages { if len(p.Aliases) == 0 { continue } diff --git a/hugolib/site_test.go b/hugolib/site_test.go index 500e1b65c..0302f3503 100644 --- a/hugolib/site_test.go +++ b/hugolib/site_test.go @@ -91,9 +91,9 @@ func TestDegenerateRenderThingMissingTemplate(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - require.Len(t, s.Pages, 1) + require.Len(t, s.regularPages, 1) - p := s.Pages[0] + p := s.regularPages[0] err := s.renderThing(p, "foobar", nil) if err == nil { @@ -142,14 +142,14 @@ func TestDraftAndFutureRender(t *testing.T) { // Testing Defaults.. Only draft:true and publishDate in the past should be rendered s := siteSetup(t) - if len(s.AllPages) != 1 { + if len(s.regularPages) != 1 { t.Fatal("Draft or Future dated content published unexpectedly") } // only publishDate in the past should be rendered viper.Set("buildDrafts", true) s = siteSetup(t) - if len(s.AllPages) != 2 { + if len(s.regularPages) != 2 { t.Fatal("Future Dated Posts published unexpectedly") } @@ -157,7 +157,7 @@ func TestDraftAndFutureRender(t *testing.T) { viper.Set("buildDrafts", false) viper.Set("buildFuture", true) s = siteSetup(t) - if len(s.AllPages) != 2 { + if len(s.regularPages) != 2 { t.Fatal("Draft posts published unexpectedly") } @@ -165,7 +165,7 @@ func TestDraftAndFutureRender(t *testing.T) { viper.Set("buildDrafts", true) viper.Set("buildFuture", true) s = siteSetup(t) - if len(s.AllPages) != 4 { + if len(s.regularPages) != 4 { t.Fatal("Drafts or Future posts not included as expected") } @@ -201,11 +201,11 @@ func TestFutureExpirationRender(t *testing.T) { s := siteSetup(t) if len(s.AllPages) != 1 { - if len(s.AllPages) > 1 { + if len(s.regularPages) > 1 { t.Fatal("Expired content published unexpectedly") } - if len(s.AllPages) < 1 { + if len(s.regularPages) < 1 { t.Fatal("Valid content expired unexpectedly") } } @@ -285,7 +285,7 @@ THE END.`, refShortcode)), t.Fatalf("Failed to build site: %s", err) } - if len(s.AllPages) != 3 { + if len(s.regularPages) != 3 { t.Fatalf("Expected 3 got %d pages", len(s.AllPages)) } @@ -377,7 +377,7 @@ func doTestShouldAlwaysHaveUglyURLs(t *testing.T, uglyURLs bool) { {filepath.FromSlash("public/ugly.html"), "\n\n
doc2 content
\n"}, } - for _, p := range s.Pages { + for _, p := range s.regularPages { assert.False(t, p.IsHome()) } @@ -649,7 +649,7 @@ func TestOrderedPages(t *testing.T) { t.Errorf("Pages in unexpected order. Second should be '%s', got '%s'", "Three", s.Sections["sect"][1].Page.Title) } - bydate := s.Pages.ByDate() + bydate := s.regularPages.ByDate() if bydate[0].Title != "One" { t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bydate[0].Title) @@ -660,7 +660,7 @@ func TestOrderedPages(t *testing.T) { t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "Three", rev[0].Title) } - bypubdate := s.Pages.ByPublishDate() + bypubdate := s.regularPages.ByPublishDate() if bypubdate[0].Title != "One" { t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bypubdate[0].Title) @@ -671,7 +671,7 @@ func TestOrderedPages(t *testing.T) { t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "Three", rbypubdate[0].Title) } - bylength := s.Pages.ByLength() + bylength := s.regularPages.ByLength() if bylength[0].Title != "One" { t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bylength[0].Title) } @@ -710,7 +710,7 @@ func TestGroupedPages(t *testing.T) { t.Fatalf("Failed to build site: %s", err) } - rbysection, err := s.Pages.GroupBy("Section", "desc") + rbysection, err := s.regularPages.GroupBy("Section", "desc") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -730,7 +730,7 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup has unexpected number of pages. Third group should have '%d' pages, got '%d' pages", 2, len(rbysection[2].Pages)) } - bytype, err := s.Pages.GroupBy("Type", "asc") + bytype, err := s.regularPages.GroupBy("Type", "asc") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -750,7 +750,7 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(bytype[2].Pages)) } - bydate, err := s.Pages.GroupByDate("2006-01", "asc") + bydate, err := s.regularPages.GroupByDate("2006-01", "asc") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -770,7 +770,7 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(bydate[2].Pages)) } - bypubdate, err := s.Pages.GroupByPublishDate("2006") + bypubdate, err := s.regularPages.GroupByPublishDate("2006") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -787,7 +787,7 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 3, len(bypubdate[0].Pages)) } - byparam, err := s.Pages.GroupByParam("my_param", "desc") + byparam, err := s.regularPages.GroupByParam("my_param", "desc") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -807,12 +807,12 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(byparam[0].Pages)) } - _, err = s.Pages.GroupByParam("not_exist") + _, err = s.regularPages.GroupByParam("not_exist") if err == nil { t.Errorf("GroupByParam didn't return an expected error") } - byOnlyOneParam, err := s.Pages.GroupByParam("only_one") + byOnlyOneParam, err := s.regularPages.GroupByParam("only_one") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) } @@ -823,7 +823,7 @@ func TestGroupedPages(t *testing.T) { t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "yes", byOnlyOneParam[0].Key) } - byParamDate, err := s.Pages.GroupByParamDate("my_date", "2006-01") + byParamDate, err := s.regularPages.GroupByParamDate("my_date", "2006-01") if err != nil { t.Fatalf("Unable to make PageGroup array: %s", err) }