Files
EdgeCommon/pkg/serverconfigs/http_page_optimization_html.go

51 lines
1.6 KiB
Go
Raw Normal View History

// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
package serverconfigs
import (
"github.com/tdewolff/minify/v2/html"
)
type HTTPHTMLOptimizationConfig struct {
HTTPBaseOptimizationConfig
IsOn bool `yaml:"isOn" json:"isOn"`
KeepComments bool `yaml:"keepComments" json:"keepComments"`
KeepConditionalComments bool `yaml:"keepConditionalComments" json:"keepConditionalComments"`
KeepDefaultAttrVals bool `yaml:"keepDefaultAttrVals" json:"keepDefaultAttrVals"`
KeepDocumentTags bool `yaml:"keepDocumentTags" json:"keepDocumentTags"`
KeepEndTags bool `yaml:"keepEndTags" json:"keepEndTags"`
KeepQuotes bool `yaml:"keepQuotes" json:"keepQuotes"`
KeepWhitespace bool `yaml:"keepWhitespace" json:"keepWhitespace"`
}
func NewHTTPHTMLOptimizationConfig() *HTTPHTMLOptimizationConfig {
return &HTTPHTMLOptimizationConfig{
KeepDefaultAttrVals: true,
KeepDocumentTags: true,
KeepEndTags: true,
KeepQuotes: true,
}
}
func (this *HTTPHTMLOptimizationConfig) Init() error {
err := this.HTTPBaseOptimizationConfig.Init()
if err != nil {
return err
}
return nil
}
func (this *HTTPHTMLOptimizationConfig) AsMinifier() *html.Minifier {
return &html.Minifier{
KeepComments: this.KeepComments,
KeepConditionalComments: this.KeepConditionalComments,
KeepDefaultAttrVals: this.KeepDefaultAttrVals,
KeepDocumentTags: this.KeepDocumentTags,
KeepEndTags: this.KeepEndTags,
KeepQuotes: this.KeepQuotes,
KeepWhitespace: this.KeepWhitespace,
}
}