package minifiers

import "github.com/gohugoio/hugo/minifiers"

Package minifiers contains minifiers mapped to MIME types. This package is used in both the resource transformation, i.e. resources.Minify, and in the publishing chain.

Index

Types

type Client

type Client struct {
	// Whether output minification is enabled (HTML in /public)
	MinifyOutput bool
	// contains filtered or unexported fields
}

Client wraps a minifier.

func New

func New(mediaTypes media.Types, outputFormats output.Formats, cfg config.AllProvider) (Client, error)

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.

func (Client) Minify

func (m Client) Minify(mediatype media.Type, dst io.Writer, src io.Reader) error

Minify tries to minify the src into dst given a MIME type.

func (Client) Transformer

func (m Client) Transformer(mediatype media.Type) transform.Transformer

Transformer returns a func that can be used in the transformer publishing chain. TODO(bep) minify config etc

type MinifyConfig

type MinifyConfig struct {
	// Whether to minify the published output (the HTML written to /public).
	MinifyOutput bool

	DisableHTML bool
	DisableCSS  bool
	DisableJS   bool
	DisableJSON bool
	DisableSVG  bool
	DisableXML  bool

	Tdewolff TdewolffConfig
}

func DecodeConfig

func DecodeConfig(v any) (conf MinifyConfig, err error)

type TdewolffConfig

type TdewolffConfig struct {
	HTML html.Minifier
	CSS  css.Minifier
	JS   js.Minifier
	JSON json.Minifier
	SVG  svg.Minifier
	XML  xml.Minifier
}

Source Files

config.go minifiers.go

Version
v0.144.2 (latest)
Published
Feb 19, 2025
Platform
linux/amd64
Imports
16 packages
Last checked
13 hours ago

Tools for package owners.