MCPcopy
hub / github.com/tdewolff/minify / Minify

Method Minify

css/css.go:138–172  ·  view source on GitHub ↗

Minify minifies CSS data, it reads from r and writes to w.

(m *minify.M, w io.Writer, r io.Reader, params map[string]string)

Source from the content-addressed store, hash-verified

136
137// Minify minifies CSS data, it reads from r and writes to w.
138func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, params map[string]string) error {
139 tmp := &Minifier{}
140 *tmp = *o
141 o = tmp
142
143 o.newPrecision = o.Precision
144 if o.newPrecision <= 0 || 15 < o.newPrecision {
145 o.newPrecision = 15 // minimum number of digits a double can represent exactly
146 }
147 if !o.Inline {
148 o.Inline = params != nil && params["inline"] == "1"
149 }
150 if o.Version <= 0 {
151 o.Version = 3
152 }
153
154 z := parse.NewInput(r)
155 defer z.Restore()
156
157 c := &cssMinifier{
158 m: m,
159 w: w,
160 p: css.NewParser(z, o.Inline),
161 o: o,
162 }
163 c.minifyGrammar()
164
165 if _, err := w.Write(nil); err != nil {
166 return err
167 }
168 if c.p.Err() == io.EOF {
169 return nil
170 }
171 return c.p.Err()
172}
173
174func (c *cssMinifier) minifyGrammar() {
175 semicolonQueued := false

Callers 1

TestCSS2Function · 0.95

Implementers 9

cmdMinifierminify.go
Mminify.go
DummyMinifierminify_test.go
Minifierjs/js.go
Minifierhtml/html.go
Minifiercss/css.go
Minifierxml/xml.go
Minifierjson/json.go
Minifiersvg/svg.go

Calls 2

minifyGrammarMethod · 0.95
WriteMethod · 0.45

Tested by 1

TestCSS2Function · 0.76