hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit c19f65f956739ab76c38222d48a3e461525e31af
parent 022c4795510306e08a4aba31504ca382d41c7fac
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Mon, 19 Jul 2021 11:32:47 +0200

minifiers: Make keepWhitespace = true default for HTML

Fixes #8771

Diffstat:
Mhugolib/resource_chain_test.go | 9+++++++++
Mminifiers/config.go | 2+-
Mminifiers/minifiers_test.go | 29+++++++++++++++++++++++++++++
Mresources/resource_transformers/minifier/minify_test.go | 2+-
4 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go
@@ -456,6 +456,10 @@ func TestResourceChainPostProcess(t *testing.T) {
 	rnd := rand.New(rand.NewSource(time.Now().UnixNano()))
 
 	b := newTestSitesBuilder(t)
+	b.WithConfigFile("toml", `[minify]
+  [minify.tdewolff]
+    [minify.tdewolff.html]
+      keepWhitespace = false`)
 	b.WithContent("page1.md", "---\ntitle: Page1\n---")
 	b.WithContent("page2.md", "---\ntitle: Page2\n---")
 
@@ -562,6 +566,11 @@ T6: {{ $bundle1.Permalink }}
 		}},
 
 		{"minify", func() bool { return true }, func(b *sitesBuilder) {
+			b.WithConfigFile("toml", `[minify]
+  [minify.tdewolff]
+    [minify.tdewolff.html]
+      keepWhitespace = false
+`)
 			b.WithTemplates("home.html", `
 Min CSS: {{ ( resources.Get "css/styles1.css" | minify ).Content }}
 Min JS: {{ ( resources.Get "js/script1.js" | resources.Minify ).Content | safeJS }}
diff --git a/minifiers/config.go b/minifiers/config.go
@@ -35,7 +35,7 @@ var defaultTdewolffConfig = tdewolffConfig{
 		KeepConditionalComments: true,
 		KeepEndTags:             true,
 		KeepDefaultAttrVals:     true,
-		KeepWhitespace:          false,
+		KeepWhitespace:          true,
 	},
 	CSS: css.Minifier{
 		Precision: 0,
diff --git a/minifiers/minifiers_test.go b/minifiers/minifiers_test.go
@@ -23,6 +23,7 @@ import (
 	"github.com/gohugoio/hugo/config"
 	"github.com/gohugoio/hugo/media"
 	"github.com/gohugoio/hugo/output"
+	"github.com/tdewolff/minify/v2/html"
 )
 
 func TestNew(t *testing.T) {
@@ -189,3 +190,31 @@ func TestDecodeConfigDecimalIsNowPrecision(t *testing.T) {
 	c.Assert(conf.Tdewolff.CSS.Precision, qt.Equals, 3)
 
 }
+
+// Issue 8771
+func TestDecodeConfigKeepWhitespace(t *testing.T) {
+	c := qt.New(t)
+	v := config.New()
+	v.Set("minify", map[string]interface{}{
+		"tdewolff": map[string]interface{}{
+			"html": map[string]interface{}{
+				"keepEndTags": false,
+			},
+		},
+	})
+
+	conf, err := decodeConfig(v)
+
+	c.Assert(err, qt.IsNil)
+	c.Assert(conf.Tdewolff.HTML, qt.DeepEquals,
+		html.Minifier{
+			KeepComments:            false,
+			KeepConditionalComments: true,
+			KeepDefaultAttrVals:     true,
+			KeepDocumentTags:        true,
+			KeepEndTags:             false,
+			KeepQuotes:              false,
+			KeepWhitespace:          true},
+	)
+
+}
diff --git a/resources/resource_transformers/minifier/minify_test.go b/resources/resource_transformers/minifier/minify_test.go
@@ -38,5 +38,5 @@ func TestTransform(t *testing.T) {
 	c.Assert(transformed.RelPermalink(), qt.Equals, "/hugo.min.html")
 	content, err := transformed.(resource.ContentProvider).Content()
 	c.Assert(err, qt.IsNil)
-	c.Assert(content, qt.Equals, "<h1>Hugo Rocks!</h1>")
+	c.Assert(content, qt.Equals, "<h1> Hugo Rocks! </h1>")
 }