code: func New(mediaTypes media.Types, outputFormats output.Formats) Client {
  	m := minify.New()
  	htmlMin := &html.Minifier{
  		KeepDocumentTags:        true,
  		KeepConditionalComments: true,
  		KeepEndTags:             true,
  		KeepDefaultAttrVals:     true,
  	}
  
  	cssMin := &css.Minifier{
  		Decimals: -1,
  		KeepCSS2: true,
  	}
  
  	// We use the Type definition of the media types defined in the site if found.
  	addMinifier(m, mediaTypes, "css", cssMin)
  	addMinifierFunc(m, mediaTypes, "js", js.Minify)
  	m.AddFuncRegexp(regexp.MustCompile("^(application|text)/(x-)?(java|ecma)script$"), js.Minify)
  	m.AddFuncRegexp(regexp.MustCompile(`^(application|text)/(x-|ld\+)?json$`), json.Minify)
  	addMinifierFunc(m, mediaTypes, "json", json.Minify)
  	addMinifierFunc(m, mediaTypes, "svg", svg.Minify)
  	addMinifierFunc(m, mediaTypes, "xml", xml.Minify)
  
  	// HTML
  	addMinifier(m, mediaTypes, "html", htmlMin)
  	for _, of := range outputFormats {
  		if of.IsHTML {
  			m.Add(of.MediaType.Type(), htmlMin)
  		}
  	}
  
  	return Client{m: m}
  
  }
docs: // New creates a new Client with the provided MIME types as the mapping foundation.
  // The HTML minifier is also registered for additional HTML types (AMP etc.) in the
  // provided list of output formats.