svg

package
v2.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2018 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package svg minifies SVG1.1 following the specifications at http://www.w3.org/TR/SVG11/.

Index

Examples

Constants

This section is empty.

Variables

View Source
var DefaultMinifier = &Minifier{Decimals: -1}

DefaultMinifier is the default minifier.

Functions

func Minify

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

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

Example
m := minify.New()
m.AddFunc("image/svg+xml", Minify)
m.AddFunc("text/css", css.Minify)

if err := m.Minify("image/svg+xml", os.Stdout, os.Stdin); err != nil {
	panic(err)
}
Output:

Types

type Minifier

type Minifier struct {
	Decimals int
}

Minifier is an SVG minifier.

func (*Minifier) Minify

func (o *Minifier) Minify(m *minify.M, w io.Writer, r io.Reader, _ map[string]string) error

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

type PathData added in v2.1.0

type PathData struct {
	// contains filtered or unexported fields
}

func NewPathData added in v2.1.0

func NewPathData(o *Minifier) *PathData

func (*PathData) ShortenPathData added in v2.1.0

func (p *PathData) ShortenPathData(b []byte) []byte

ShortenPathData takes a full pathdata string and returns a shortened version. The original string is overwritten. It parses all commands (M, A, Z, ...) and coordinates (numbers) and calls copyInstruction for each command.

type PathDataState added in v2.1.0

type PathDataState struct {
	// contains filtered or unexported fields
}

type Token

type Token struct {
	xml.TokenType
	Hash    svg.Hash
	Data    []byte
	Text    []byte
	AttrVal []byte
}

Token is a single token unit with an attribute value (if given) and hash of the data.

type TokenBuffer

type TokenBuffer struct {
	// contains filtered or unexported fields
}

TokenBuffer is a buffer that allows for token look-ahead.

func NewTokenBuffer

func NewTokenBuffer(l *xml.Lexer) *TokenBuffer

NewTokenBuffer returns a new TokenBuffer.

func (*TokenBuffer) Attributes

func (z *TokenBuffer) Attributes(hashes ...svg.Hash) ([]*Token, *Token)

Attributes extracts the gives attribute hashes from a tag. It returns in the same order pointers to the requested token data or nil.

func (*TokenBuffer) Peek

func (z *TokenBuffer) Peek(pos int) *Token

Peek returns the ith element and possibly does an allocation. Peeking past an error will panic.

func (*TokenBuffer) Shift

func (z *TokenBuffer) Shift() *Token

Shift returns the first element and advances position.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL