diff --git a/hugolib/handler_file.go b/hugolib/handler_file.go index c1b535d318d..824469a7fdd 100644 --- a/hugolib/handler_file.go +++ b/hugolib/handler_file.go @@ -14,6 +14,12 @@ package hugolib import ( + "image" + _ "image/jpeg" + _ "image/png" + + "log" + "github.com/dchest/cssmin" "github.com/spf13/hugo/helpers" "github.com/spf13/hugo/source" @@ -22,6 +28,7 @@ import ( func init() { RegisterHandler(new(cssHandler)) + RegisterHandler(new(imageHandler)) RegisterHandler(new(defaultHandler)) } @@ -51,3 +58,13 @@ func (h cssHandler) FileConvert(f *source.File, s *Site) HandledResult { s.WriteDestFile(f.Path(), helpers.BytesToReader(x)) return HandledResult{file: f} } + +type imageHandler struct{ basicFileHandler } + +func (h imageHandler) Extensions() []string { return []string{"jpg", "jpeg", "png", "gif"} } +func (h imageHandler) FileConvert(f *source.File, s *Site) HandledResult { + _, ext, err := image.Decode(f.Contents) + log.Println(ext, err) + s.WriteDestFile(f.Path(), f.Contents) + return HandledResult{file: f} +}