Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatowTakeshi <doublequotation@gmail.com>2020-02-29 12:44:05 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-03-20 22:35:57 +0300
commit574c2959b8d3338764fa1db102a5e0fd6ed322d9 (patch)
tree185d13348f474d1bb0bb2b0fbfd6bec9d11c8f5e /resources
parent99958f90fedec11d749a1397300860aa8e8459c2 (diff)
Add minify config
Fixes #6750 Updates #6892
Diffstat (limited to 'resources')
-rw-r--r--resources/resource_transformers/minifier/minify.go12
-rw-r--r--resources/resource_transformers/minifier/minify_test.go22
2 files changed, 28 insertions, 6 deletions
diff --git a/resources/resource_transformers/minifier/minify.go b/resources/resource_transformers/minifier/minify.go
index 38e3fc93a..060485e80 100644
--- a/resources/resource_transformers/minifier/minify.go
+++ b/resources/resource_transformers/minifier/minify.go
@@ -29,8 +29,12 @@ type Client struct {
// New creates a new Client given a specification. Note that it is the media types
// configured for the site that is used to match files to the correct minifier.
-func New(rs *resources.Spec) *Client {
- return &Client{rs: rs, m: minifiers.New(rs.MediaTypes, rs.OutputFormats)}
+func New(rs *resources.Spec) (*Client, error) {
+ m, err := minifiers.New(rs.MediaTypes, rs.OutputFormats, rs.Cfg)
+ if err != nil {
+ return nil, err
+ }
+ return &Client{rs: rs, m: m}, nil
}
type minifyTransformation struct {
@@ -43,9 +47,7 @@ func (t *minifyTransformation) Key() internal.ResourceTransformationKey {
}
func (t *minifyTransformation) Transform(ctx *resources.ResourceTransformationCtx) error {
- if err := t.m.Minify(ctx.InMediaType, ctx.To, ctx.From); err != nil {
- return err
- }
+ _ = t.m.Minify(ctx.InMediaType, ctx.To, ctx.From)
ctx.AddOutPathIdentifier(".min")
return nil
}
diff --git a/resources/resource_transformers/minifier/minify_test.go b/resources/resource_transformers/minifier/minify_test.go
index 3f8853520..a1b22f109 100644
--- a/resources/resource_transformers/minifier/minify_test.go
+++ b/resources/resource_transformers/minifier/minify_test.go
@@ -27,7 +27,7 @@ func TestTransform(t *testing.T) {
spec, err := htesting.NewTestResourceSpec()
c.Assert(err, qt.IsNil)
- client := New(spec)
+ client, _ := New(spec)
r, err := htesting.NewResourceTransformerForSpec(spec, "hugo.html", "<h1> Hugo Rocks! </h1>")
c.Assert(err, qt.IsNil)
@@ -41,3 +41,23 @@ func TestTransform(t *testing.T) {
c.Assert(content, qt.Equals, "<h1>Hugo Rocks!</h1>")
}
+
+func TestNoMinifier(t *testing.T) {
+ c := qt.New(t)
+
+ spec, _ := htesting.NewTestResourceSpec()
+ spec.Cfg.Set("minifiers.enableXML", false)
+ client, _ := New(spec)
+
+ original := "<title> Hugo Rocks! </title>"
+ r, err := htesting.NewResourceTransformerForSpec(spec, "hugo.xml", original)
+ c.Assert(err, qt.IsNil)
+
+ transformed, err := client.Minify(r)
+ c.Assert(err, qt.IsNil)
+
+ content, err := transformed.(resource.ContentProvider).Content()
+ // error should be ignored because general users cannot control codes under `theme`s
+ c.Assert(err, qt.IsNil)
+ c.Assert(content, qt.Equals, original)
+}