diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-04-20 11:50:57 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-04-20 15:01:20 +0200 |
commit | c7dd66bfe2e32430f9b1a3126c67014e40d8405e (patch) | |
tree | 6de0c2d35426f390c8c40e54c47a5d5b7a565362 /hugolib/site_output_test.go | |
parent | 7aeeb60d7ee71690461df92ff41cb8b2f7f5aa61 (diff) |
Fix links for non-HTML output formats
They were not correct for regular pages.
Fixes #5877
Diffstat (limited to 'hugolib/site_output_test.go')
-rw-r--r-- | hugolib/site_output_test.go | 89 |
1 files changed, 57 insertions, 32 deletions
diff --git a/hugolib/site_output_test.go b/hugolib/site_output_test.go index c8cfd4ce9..71b87b636 100644 --- a/hugolib/site_output_test.go +++ b/hugolib/site_output_test.go @@ -419,6 +419,8 @@ func TestOutputFormatPermalinkable(t *testing.T) { config := ` baseURL = "https://example.com" + + # DAMP is similar to AMP, but not permalinkable. [outputFormats] [outputFormats.damp] @@ -428,6 +430,14 @@ path = "damp" mediaType = "text/html" path = "ramp" permalinkable = true +[outputFormats.base] +mediaType = "text/html" +isHTML = true +baseName = "that" +permalinkable = true +[outputFormats.nobase] +mediaType = "application/json" +permalinkable = true ` @@ -435,7 +445,7 @@ permalinkable = true b.WithContent("_index.md", ` --- Title: Home Sweet Home -outputs: [ "html", "amp", "damp" ] +outputs: [ "html", "amp", "damp", "base" ] --- `) @@ -480,58 +490,73 @@ outputs: [ "amp" ] `) - b.WithTemplatesAdded("index.html", ` -This RelPermalink: {{ .RelPermalink }} -Regular Pages: {{ range .Site.RegularPages }}{{ .Title }}|{{ .RelPermalink }}|{{ end }} -Get AMP: {{ with .OutputFormats.Get "AMP" }}{{ .Permalink }}{{ end }} -Get HTML: {{ with .OutputFormats.Get "HTML" }}{{ .Permalink }}{{ end }} + b.WithContent("blog/html-base-nobase.md", ` +--- +Title: HTML, Base and Nobase +outputs: [ "html", "base", "nobase" ] +--- + `) - b.WithTemplatesAdded("_default/single.html", ` + const commonTemplate = ` This RelPermalink: {{ .RelPermalink }} -Get AMP: {{ with .OutputFormats.Get "AMP" }}{{ .Permalink }}{{ end }} -Get HTML: {{ with .OutputFormats.Get "HTML" }}{{ .Permalink }}{{ end }} -Get DAMP: {{ with .OutputFormats.Get "DAMP" }}{{ .Permalink }}{{ end }} -Get RAMP: {{ with .OutputFormats.Get "RAMP" }}{{ .Permalink }}{{ end }} -`) +Output Formats: {{ len .OutputFormats }};{{ range .OutputFormats }}{{ .Name }};{{ .RelPermalink }}|{{ end }} - b.Build(BuildCfg{}) +` - htmlHomeOutput := "Regular Pages: AMP and HTML|/blog/html-amp/|AMP only|/amp/blog/amp/|DAMP and HTML|/blog/html-damp/|HTML only|/blog/html/|" + b.WithTemplatesAdded("index.html", commonTemplate) + b.WithTemplatesAdded("_default/single.html", commonTemplate) + b.WithTemplatesAdded("_default/single.json", commonTemplate) - b.AssertFileContent("public/index.html", htmlHomeOutput, + b.Build(BuildCfg{}) + + b.AssertFileContent("public/index.html", "This RelPermalink: /", - "Get AMP: https://example.com/amp/", - "Get HTML: https://example.com/") + "Output Formats: 4;HTML;/|AMP;/amp/|damp;/damp/|base;/that.html|", + ) b.AssertFileContent("public/amp/index.html", - "Regular Pages: AMP and HTML|/amp/blog/html-amp/|AMP only|/amp/blog/amp/|DAMP and HTML|/blog/html-damp/|HTML only|/blog/html/|") - b.AssertFileContent("public/damp/index.html", htmlHomeOutput) + "This RelPermalink: /amp/", + "Output Formats: 4;HTML;/|AMP;/amp/|damp;/damp/|base;/that.html|", + ) - // https://github.com/gohugoio/hugo/issues/5877 b.AssertFileContent("public/blog/html-amp/index.html", - "This RelPermalink: /blog/html-amp/", - "Get AMP: https://example.com/amp/blog/html-amp/", - "Get HTML: https://example.com/blog/html-amp/") + "Output Formats: 2;HTML;/blog/html-amp/|AMP;/amp/blog/html-amp/|", + "This RelPermalink: /blog/html-amp/") b.AssertFileContent("public/amp/blog/html-amp/index.html", - "This RelPermalink: /amp/blog/html-amp/", - "Get AMP: https://example.com/amp/blog/html-amp/", - "Get HTML: https://example.com/blog/html-amp/") + "Output Formats: 2;HTML;/blog/html-amp/|AMP;/amp/blog/html-amp/|", + "This RelPermalink: /amp/blog/html-amp/") + // Damp is not permalinkable b.AssertFileContent("public/damp/blog/html-damp/index.html", "This RelPermalink: /blog/html-damp/", - "Get HTML: https://example.com/blog/html-damp/", - "Get DAMP: https://example.com/damp/blog/html-damp/") + "Output Formats: 2;HTML;/blog/html-damp/|damp;/damp/blog/html-damp/|") b.AssertFileContent("public/blog/html-ramp/index.html", "This RelPermalink: /blog/html-ramp/", - "Get HTML: https://example.com/blog/html-ramp/", - "Get RAMP: https://example.com/ramp/blog/html-ramp/") + "Output Formats: 2;HTML;/blog/html-ramp/|ramp;/ramp/blog/html-ramp/|") b.AssertFileContent("public/ramp/blog/html-ramp/index.html", "This RelPermalink: /ramp/blog/html-ramp/", - "Get HTML: https://example.com/blog/html-ramp/", - "Get RAMP: https://example.com/ramp/blog/html-ramp/") + "Output Formats: 2;HTML;/blog/html-ramp/|ramp;/ramp/blog/html-ramp/|") + + // https://github.com/gohugoio/hugo/issues/5877 + outputFormats := "Output Formats: 3;HTML;/blog/html-base-nobase/|base;/blog/html-base-nobase/that.html|nobase;/blog/html-base-nobase/index.json|" + + b.AssertFileContent("public/blog/html-base-nobase/index.json", + "This RelPermalink: /blog/html-base-nobase/index.json", + outputFormats, + ) + + b.AssertFileContent("public/blog/html-base-nobase/that.html", + "This RelPermalink: /blog/html-base-nobase/that.html", + outputFormats, + ) + + b.AssertFileContent("public/blog/html-base-nobase/index.html", + "This RelPermalink: /blog/html-base-nobase/", + outputFormats, + ) } |