2020-07-31 14:23:29 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2021-02-16 15:26:21 +00:00
|
|
|
"io"
|
|
|
|
|
2020-07-31 14:23:29 +00:00
|
|
|
"github.com/tdewolff/minify/v2"
|
2020-10-07 15:35:52 +00:00
|
|
|
mCss "github.com/tdewolff/minify/v2/css"
|
|
|
|
mHtml "github.com/tdewolff/minify/v2/html"
|
|
|
|
mJs "github.com/tdewolff/minify/v2/js"
|
|
|
|
mJson "github.com/tdewolff/minify/v2/json"
|
|
|
|
mXml "github.com/tdewolff/minify/v2/xml"
|
2020-07-31 14:23:29 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
var minifier *minify.M
|
|
|
|
|
|
|
|
func initMinify() {
|
|
|
|
minifier = minify.New()
|
2020-10-13 11:40:16 +00:00
|
|
|
minifier.AddFunc(contentTypeHTML, mHtml.Minify)
|
2020-10-07 15:35:52 +00:00
|
|
|
minifier.AddFunc("text/css", mCss.Minify)
|
2020-10-17 15:36:18 +00:00
|
|
|
minifier.AddFunc("text/xml", mXml.Minify)
|
2020-10-07 15:35:52 +00:00
|
|
|
minifier.AddFunc("application/javascript", mJs.Minify)
|
2021-02-16 15:26:21 +00:00
|
|
|
minifier.AddFunc(contentTypeRSS, mXml.Minify)
|
|
|
|
minifier.AddFunc(contentTypeATOM, mXml.Minify)
|
|
|
|
minifier.AddFunc(contentTypeJSONFeed, mJson.Minify)
|
|
|
|
minifier.AddFunc(contentTypeAS, mJson.Minify)
|
|
|
|
}
|
|
|
|
|
|
|
|
func writeMinified(w io.Writer, mediatype string, b []byte) (int, error) {
|
|
|
|
mw := minifier.Writer(mediatype, w)
|
|
|
|
defer func() { mw.Close() }()
|
|
|
|
return mw.Write(b)
|
2020-07-31 14:23:29 +00:00
|
|
|
}
|