shithub: hugo

Download patch

ref: 0013bea901ee2124f4c18f9728abf47c3880f97d
parent: 30bc4ed0a01f965cc2f9187ccb6ab5d28a3149f6
author: Cameron Moore <[email protected]>
date: Thu Sep 6 16:41:59 EDT 2018

resource: Fix golint issues

Fix godoc comments and the following:

resource/image.go:33:2: a blank import should be only in a main or test package, or have a comment justifying it
resource/image.go:35:2: a blank import should be only in a main or test package, or have a comment justifying it
resource/image.go:41:2: a blank import should be only in a main or test package, or have a comment justifying it
resource/image.go:538:10: if block ends with a return statement, so drop this else and outdent its block
resource/resource.go:54:7: exported const DefaultResourceType should have comment or be unexported
resource/resource.go:233:1: receiver name r1 should be consistent with previous receiver name r for Resources
resource/resource.go:254:1: receiver name r1 should be consistent with previous receiver name r for Resources

--- a/resource/image.go
+++ b/resource/image.go
@@ -16,28 +16,26 @@
 import (
 	"errors"
 	"fmt"
+	"image"
 	"image/color"
+	"image/draw"
+	"image/jpeg"
 	"io"
 	"os"
 	"strconv"
 	"strings"
+	"sync"
 
-	"github.com/mitchellh/mapstructure"
-
+	"github.com/disintegration/imaging"
 	"github.com/gohugoio/hugo/common/hugio"
 	"github.com/gohugoio/hugo/helpers"
+	"github.com/mitchellh/mapstructure"
 
-	// Importing image codecs for image.DecodeConfig
-	"image"
-	"image/draw"
+	// Blind import for image.Decode
 	_ "image/gif"
-	"image/jpeg"
 	_ "image/png"
 
-	"github.com/disintegration/imaging"
-	// Import webp codec
-	"sync"
-
+	// Blind import for image.Decode
 	_ "golang.org/x/image/webp"
 )
 
@@ -117,6 +115,7 @@
 	strings.ToLower("Cosine"):            imaging.Cosine,
 }
 
+// Image represents an image resource.
 type Image struct {
 	config       image.Config
 	configInit   sync.Once
@@ -134,17 +133,19 @@
 	*genericResource
 }
 
+// Width returns i's width.
 func (i *Image) Width() int {
 	i.initConfig()
 	return i.config.Width
 }
 
+// Height returns i's height.
 func (i *Image) Height() int {
 	i.initConfig()
 	return i.config.Height
 }
 
-// Implement the Cloner interface.
+// WithNewBase implements the Cloner interface.
 func (i *Image) WithNewBase(base string) Resource {
 	return &Image{
 		imaging:         i.imaging,
@@ -535,9 +536,8 @@
 		}
 		if rgba != nil {
 			return jpeg.Encode(w, rgba, &jpeg.Options{Quality: quality})
-		} else {
-			return jpeg.Encode(w, img, &jpeg.Options{Quality: quality})
 		}
+		return jpeg.Encode(w, img, &jpeg.Options{Quality: quality})
 	default:
 		return imaging.Encode(w, img, i.format)
 	}
--- a/resource/resource.go
+++ b/resource/resource.go
@@ -51,8 +51,6 @@
 	_ permalinker             = (*genericResource)(nil)
 )
 
-const DefaultResourceType = "unknown"
-
 var noData = make(map[string]interface{})
 
 // Source is an internal template and not meant for use in the templates. It
@@ -110,6 +108,8 @@
 	Params() map[string]interface{}
 }
 
+// ResourcesLanguageMerger describes an interface for merging resources from a
+// different language.
 type ResourcesLanguageMerger interface {
 	MergeByLanguage(other Resources) Resources
 	// Needed for integration with the tpl package.
@@ -136,7 +136,7 @@
 	Content() (interface{}, error)
 }
 
-// OpenReadSeekeCloser allows setting some other way (than reading from a filesystem)
+// OpenReadSeekCloser allows setting some other way (than reading from a filesystem)
 // to open or create a ReadSeekCloser.
 type OpenReadSeekCloser func() (hugio.ReadSeekCloser, error)
 
@@ -150,6 +150,7 @@
 // I.e. both pages and images etc.
 type Resources []Resource
 
+// ByType returns resources of a given resource type (ie. "image").
 func (r Resources) ByType(tp string) Resources {
 	var filtered Resources
 
@@ -230,19 +231,19 @@
 }
 
 // MergeByLanguage adds missing translations in r1 from r2.
-func (r1 Resources) MergeByLanguage(r2 Resources) Resources {
-	result := append(Resources(nil), r1...)
+func (r Resources) MergeByLanguage(r2 Resources) Resources {
+	result := append(Resources(nil), r...)
 	m := make(map[string]bool)
-	for _, r := range r1 {
-		if translated, ok := r.(translatedResource); ok {
+	for _, rr := range r {
+		if translated, ok := rr.(translatedResource); ok {
 			m[translated.TranslationKey()] = true
 		}
 	}
 
-	for _, r := range r2 {
-		if translated, ok := r.(translatedResource); ok {
+	for _, rr := range r2 {
+		if translated, ok := rr.(translatedResource); ok {
 			if _, found := m[translated.TranslationKey()]; !found {
-				result = append(result, r)
+				result = append(result, rr)
 			}
 		}
 	}
@@ -251,12 +252,12 @@
 
 // MergeByLanguageInterface is the generic version of MergeByLanguage. It
 // is here just so it can be called from the tpl package.
-func (r1 Resources) MergeByLanguageInterface(in interface{}) (interface{}, error) {
+func (r Resources) MergeByLanguageInterface(in interface{}) (interface{}, error) {
 	r2, ok := in.(Resources)
 	if !ok {
 		return nil, fmt.Errorf("%T cannot be merged by language", in)
 	}
-	return r1.MergeByLanguage(r2), nil
+	return r.MergeByLanguage(r2), nil
 }
 
 type Spec struct {