mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-16 22:27:52 +00:00
hugolib: No links for bundled pages
This fixes a bug introduced in Hugo 0.55. Fixes #5882
This commit is contained in:
parent
1477fb33c9
commit
0775c98e6c
5 changed files with 26 additions and 9 deletions
|
@ -98,6 +98,9 @@ type pageMeta struct {
|
||||||
// 3. But you can get it via .Site.GetPage
|
// 3. But you can get it via .Site.GetPage
|
||||||
headless bool
|
headless bool
|
||||||
|
|
||||||
|
// Set if this page is bundled inside another.
|
||||||
|
bundled bool
|
||||||
|
|
||||||
// A key that maps to translation(s) of this page. This value is fetched
|
// A key that maps to translation(s) of this page. This value is fetched
|
||||||
// from the page front matter.
|
// from the page front matter.
|
||||||
translationKey string
|
translationKey string
|
||||||
|
|
|
@ -166,14 +166,14 @@ func newPageStandalone(m *pageMeta, f output.Format) (*pageState, error) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func newPageWithContent(f *fileInfo, s *Site, content resource.OpenReadSeekCloser) (*pageState, error) {
|
func newPageWithContent(f *fileInfo, s *Site, bundled bool, content resource.OpenReadSeekCloser) (*pageState, error) {
|
||||||
sections := s.sectionsFromFile(f)
|
sections := s.sectionsFromFile(f)
|
||||||
kind := s.kindFromFileInfoOrSections(f, sections)
|
kind := s.kindFromFileInfoOrSections(f, sections)
|
||||||
if kind == page.KindTaxonomy {
|
if kind == page.KindTaxonomy {
|
||||||
s.PathSpec.MakePathsSanitized(sections)
|
s.PathSpec.MakePathsSanitized(sections)
|
||||||
}
|
}
|
||||||
|
|
||||||
metaProvider := &pageMeta{kind: kind, sections: sections, s: s, f: f}
|
metaProvider := &pageMeta{kind: kind, sections: sections, bundled: bundled, s: s, f: f}
|
||||||
|
|
||||||
ps, err := newPageBase(metaProvider)
|
ps, err := newPageBase(metaProvider)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -52,7 +52,9 @@ func newPagePaths(
|
||||||
|
|
||||||
var relPermalink, permalink string
|
var relPermalink, permalink string
|
||||||
|
|
||||||
if !pm.headless {
|
// If a page is headless or bundled in another, it will not get published
|
||||||
|
// on its own and it will have no links.
|
||||||
|
if !pm.headless && !pm.bundled {
|
||||||
relPermalink = paths.RelPermalink(s.PathSpec)
|
relPermalink = paths.RelPermalink(s.PathSpec)
|
||||||
permalink = paths.PermalinkForOutputFormat(s.PathSpec, f)
|
permalink = paths.PermalinkForOutputFormat(s.PathSpec, f)
|
||||||
}
|
}
|
||||||
|
|
|
@ -197,7 +197,7 @@ func (c *contentHandlers) parsePage(h contentHandler) contentHandler {
|
||||||
return f, nil
|
return f, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
ps, err := newPageWithContent(fi, c.s, content)
|
ps, err := newPageWithContent(fi, c.s, ctx.parentPage != nil, content)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return handlerResult{err: err}
|
return handlerResult{err: err}
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,10 +237,17 @@ func TestPageBundlerSiteRegular(t *testing.T) {
|
||||||
"Short Thumb Width: 56",
|
"Short Thumb Width: 56",
|
||||||
"1: Image Title: Sunset Galore 1",
|
"1: Image Title: Sunset Galore 1",
|
||||||
"1: Image Params: map[myparam:My Sunny Param]",
|
"1: Image Params: map[myparam:My Sunny Param]",
|
||||||
|
relPermalinker("1: Image RelPermalink: %s/2017/pageslug/sunset1.jpg"),
|
||||||
"2: Image Title: Sunset Galore 2",
|
"2: Image Title: Sunset Galore 2",
|
||||||
"2: Image Params: map[myparam:My Sunny Param]",
|
"2: Image Params: map[myparam:My Sunny Param]",
|
||||||
"1: Image myParam: Lower: My Sunny Param Caps: My Sunny Param",
|
"1: Image myParam: Lower: My Sunny Param Caps: My Sunny Param",
|
||||||
|
"0: Page Title: Bundle Galore",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// https://github.com/gohugoio/hugo/issues/5882
|
||||||
|
th.assertFileContent(
|
||||||
|
filepath.FromSlash("/work/public/2017/pageslug.html"), "0: Page RelPermalink: |")
|
||||||
|
|
||||||
th.assertFileContent(filepath.FromSlash("/work/public/cpath/2017/pageslug.html"), "TheContent")
|
th.assertFileContent(filepath.FromSlash("/work/public/cpath/2017/pageslug.html"), "TheContent")
|
||||||
|
|
||||||
// 은행
|
// 은행
|
||||||
|
@ -642,11 +649,16 @@ Thumb Name: {{ $thumb.Name }}
|
||||||
Thumb Title: {{ $thumb.Title }}
|
Thumb Title: {{ $thumb.Title }}
|
||||||
Thumb RelPermalink: {{ $thumb.RelPermalink }}
|
Thumb RelPermalink: {{ $thumb.RelPermalink }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ range $i, $e := .Resources.ByType "image" }}
|
{{ $types := slice "image" "page" }}
|
||||||
{{ $i }}: Image Title: {{ .Title }}
|
{{ range $types }}
|
||||||
{{ $i }}: Image Name: {{ .Name }}
|
{{ $typeTitle := . | title }}
|
||||||
{{ $i }}: Image Params: {{ printf "%v" .Params }}
|
{{ range $i, $e := $.Resources.ByType . }}
|
||||||
{{ $i }}: Image myParam: Lower: {{ .Params.myparam }} Caps: {{ .Params.MYPARAM }}
|
{{ $i }}: {{ $typeTitle }} Title: {{ .Title }}
|
||||||
|
{{ $i }}: {{ $typeTitle }} Name: {{ .Name }}
|
||||||
|
{{ $i }}: {{ $typeTitle }} RelPermalink: {{ .RelPermalink }}|
|
||||||
|
{{ $i }}: {{ $typeTitle }} Params: {{ printf "%v" .Params }}
|
||||||
|
{{ $i }}: {{ $typeTitle }} myParam: Lower: {{ .Params.myparam }} Caps: {{ .Params.MYPARAM }}
|
||||||
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue