shithub: hugo

Download patch

ref: 179de5f5bc0336c9c279e851ea13202b7ffe572e
parent: 5dc1f95b63267fe93aca09b3bf0d59b2484c21e4
author: Bjørn Erik Pedersen <[email protected]>
date: Mon Jul 9 06:29:18 EDT 2018

Revert "Consider root and current section's content type if set in front matter"

This reverts commit c790029e1dbb0b66af18d05764bd6045deb2e180.

--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -412,26 +412,12 @@
 	default:
 	}
 
-	var typeCurrentSection string
-	var typeRootSection string
-	curr := p.CurrentSection()
-	// Make sure we use the contentType only. This is the value from front matter.
-	if curr != nil {
-		typeCurrentSection = curr.contentType
-	}
-	first := p.FirstSection()
-	if first != nil {
-		typeRootSection = first.contentType
-	}
-
 	return output.LayoutDescriptor{
-		Kind:               p.Kind,
-		Type:               p.Type(),
-		Lang:               p.Lang(),
-		Layout:             p.Layout,
-		Section:            section,
-		TypeCurrentSection: typeCurrentSection,
-		TypeFirstSection:   typeRootSection,
+		Kind:    p.Kind,
+		Type:    p.Type(),
+		Lang:    p.Lang(),
+		Layout:  p.Layout,
+		Section: section,
 	}
 }
 
--- a/hugolib/site_sections.go
+++ b/hugolib/site_sections.go
@@ -58,29 +58,6 @@
 	return v.parent
 }
 
-// FirstSection returns the section on level 1 below home, e.g. "/docs".
-// For the home page, this will return itself.
-func (p *Page) FirstSection() *Page {
-	v := p
-	if v.origOnCopy != nil {
-		v = v.origOnCopy
-	}
-
-	if v.parent == nil || v.parent.IsHome() {
-		return v
-	}
-
-	parent := v.parent
-	for {
-		current := parent
-		parent = parent.parent
-		if parent == nil || parent.IsHome() {
-			return current
-		}
-	}
-
-}
-
 // InSection returns whether the given page is in the current section.
 // Note that this will always return false for pages that are
 // not either regular, home or section pages.
--- a/hugolib/site_sections_test.go
+++ b/hugolib/site_sections_test.go
@@ -176,8 +176,6 @@
 			active, err := home.InSection(home)
 			assert.NoError(err)
 			assert.True(active)
-			assert.Equal(p, p.FirstSection())
-
 		}},
 		{"l1", func(p *Page) {
 			assert.Equal("L1s", p.title)
@@ -251,8 +249,6 @@
 			isAncestor, err = p.IsAncestor(l1)
 			assert.NoError(err)
 			assert.False(isAncestor)
-
-			assert.Equal(l1, p.FirstSection())
 
 		}},
 		{"perm a,link", func(p *Page) {
--- a/output/layout.go
+++ b/output/layout.go
@@ -35,12 +35,6 @@
 	Kind    string
 	Lang    string
 	Layout  string
-
-	// Any potential type set in the page's current section and the root section
-	// it lives in.
-	TypeFirstSection    string
-	TypeCurrentSection string
-
 	// LayoutOverride indicates what we should only look for the above layout.
 	LayoutOverride bool
 }
@@ -131,14 +125,6 @@
 
 	if d.Type != "" {
 		b.addTypeVariations(d.Type)
-	}
-
-	if d.TypeCurrentSection != "" {
-		b.addTypeVariations(d.TypeCurrentSection)
-	}
-
-	if d.TypeFirstSection != "" {
-		b.addTypeVariations(d.TypeFirstSection)
 	}
 
 	switch d.Kind {
--- a/output/layout_test.go
+++ b/output/layout_test.go
@@ -90,13 +90,8 @@
 			[]string{"_default/mylayout.amp.html", "_default/single.amp.html", "_default/mylayout.html", "_default/single.html"}, 4},
 		{"Page with layout and type", LayoutDescriptor{Kind: "page", Layout: "mylayout", Type: "myttype"}, "", ampType,
 			[]string{"myttype/mylayout.amp.html", "myttype/single.amp.html", "myttype/mylayout.html"}, 8},
-		{"Page with layout and type with subtype", LayoutDescriptor{Kind: "page", Layout: "mylayout", Type: "myttype/mysubtype", TypeCurrentSection: "cst"}, "", ampType,
-			[]string{"myttype/mysubtype/mylayout.amp.html", "myttype/mysubtype/single.amp.html", "myttype/mysubtype/mylayout.html"}, 12},
-		{"Page with type in section", LayoutDescriptor{Kind: "page", TypeCurrentSection: "cst"}, "", ampType,
-			[]string{"cst/single.amp.html", "cst/single.html", "_default/single.amp.html", "_default/single.html"}, 4},
-		{"Page with type in root section", LayoutDescriptor{Kind: "page", TypeFirstSection: "cst"}, "", ampType,
-			[]string{"cst/single.amp.html", "cst/single.html", "_default/single.amp.html", "_default/single.html"}, 4},
-
+		{"Page with layout and type with subtype", LayoutDescriptor{Kind: "page", Layout: "mylayout", Type: "myttype/mysubtype"}, "", ampType,
+			[]string{"myttype/mysubtype/mylayout.amp.html", "myttype/mysubtype/single.amp.html", "myttype/mysubtype/mylayout.html"}, 8},
 		// RSS
 		{"RSS Home", LayoutDescriptor{Kind: "home"}, "", RSSFormat,
 			[]string{"index.rss.xml", "home.rss.xml", "rss.xml"}, 15},