Documentation ¶
Overview ¶
Package webfonts provides client for the google webfonts helper and a way to easily retrieve and serve webfonts.
Index ¶
- Constants
- Variables
- func Available(ctx context.Context, opts ...ClientOption) ([]*gfonts.Webfont, error)
- func BuildRoutes(prefix string, fonts []Font, h func(string, []byte, []Route) error) error
- type Client
- func (cl *Client) All(ctx context.Context, family string, opts ...QueryOption) ([]Font, error)
- func (cl *Client) Available(ctx context.Context) ([]*gfonts.Webfont, error)
- func (cl *Client) EOT(ctx context.Context, family string, opts ...QueryOption) (Font, error)
- func (cl *Client) Faces(ctx context.Context, family string, opts ...QueryOption) ([]Font, error)
- func (cl *Client) Format(ctx context.Context, family, format string, opts ...QueryOption) (Font, error)
- func (cl *Client) SVG(ctx context.Context, family string, opts ...QueryOption) (Font, error)
- func (cl *Client) TTF(ctx context.Context, family string, opts ...QueryOption) (Font, error)
- func (cl *Client) WOFF(ctx context.Context, family string, opts ...QueryOption) (Font, error)
- func (cl *Client) WOFF2(ctx context.Context, family string, opts ...QueryOption) (Font, error)
- type ClientOption
- func WithAppCacheDir(appCacheDir string) ClientOption
- func WithClientOption(opt option.ClientOption) ClientOption
- func WithKey(key string) ClientOption
- func WithLogf(logf interface{}, opts ...httplog.Option) ClientOption
- func WithTokenSource(source oauth2.TokenSource) ClientOption
- func WithTransport(transport http.RoundTripper) ClientOption
- type Error
- type Font
- func All(ctx context.Context, family string, opts ...ClientOption) ([]Font, error)
- func EOT(ctx context.Context, family string, opts ...ClientOption) (Font, error)
- func Faces(ctx context.Context, family string, opts ...ClientOption) ([]Font, error)
- func FontsFromStylesheetReader(r io.Reader) ([]Font, error)
- func Format(ctx context.Context, family, format string, opts ...ClientOption) (Font, error)
- func SVG(ctx context.Context, family string, opts ...ClientOption) (Font, error)
- func TTF(ctx context.Context, family string, opts ...ClientOption) (Font, error)
- func WOFF(ctx context.Context, family string, opts ...ClientOption) (Font, error)
- func WOFF2(ctx context.Context, family string, opts ...ClientOption) (Font, error)
- type Query
- type QueryOption
- func WithDirectory(directory string) QueryOption
- func WithDisplay(display string) QueryOption
- func WithEffects(effects ...string) QueryOption
- func WithStyles(styles ...string) QueryOption
- func WithSubsets(subsets ...string) QueryOption
- func WithText(text string) QueryOption
- func WithUserAgent(userAgent string) QueryOption
- func WithVariants(variants ...string) QueryOption
- type Route
Constants ¶
const ( UserAgentEOT = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)" UserAgentSVG = "" /* 127-byte string literal not displayed */ UserAgentTTF = "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) Safari/538.1 Daum/4.1" UserAgentWOFF2 = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" UserAgentWOFF = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" )
User agents.
Variables ¶
var DefaultTransport = http.DefaultTransport
DefaultTransport is the default http transport.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a webfonts client.
func NewClient ¶
func NewClient(opts ...ClientOption) *Client
NewClient creates a new webfonts client.
func (*Client) All ¶ added in v0.2.0
All retrieves all common font faces for the specified family by using multiple user agents (EOT, SVG, TTF, WOFF2, WOFF).
func (*Client) Available ¶
Available retrieves all available webfonts from the google webfonts service.
func (*Client) Faces ¶ added in v0.2.0
Faces retrieves the font faces for the specified family, building a query using the client's user agent and passed options.
func (*Client) Format ¶ added in v0.2.0
func (cl *Client) Format(ctx context.Context, family, format string, opts ...QueryOption) (Font, error)
Format retrieves a font face with the specified format and family.
type ClientOption ¶
type ClientOption func(*Client)
ClientOption is a webfonts client option.
func WithAppCacheDir ¶
func WithAppCacheDir(appCacheDir string) ClientOption
WithAppCacheDir is a webfonts client option to set the app cache dir.
func WithClientOption ¶
func WithClientOption(opt option.ClientOption) ClientOption
WithClientOption is a webfonts client option to set underlying client options.
func WithKey ¶
func WithKey(key string) ClientOption
WithKey is a webfonts client option to set the google webfonts api key.
func WithLogf ¶
func WithLogf(logf interface{}, opts ...httplog.Option) ClientOption
WithLogf is a webfonts client option to set a log handler for http requests and responses.
func WithTokenSource ¶
func WithTokenSource(source oauth2.TokenSource) ClientOption
WithTokenSource is a webfonts client option to set the token source.
func WithTransport ¶
func WithTransport(transport http.RoundTripper) ClientOption
WithTransport is a webfonts client option to set the http transport.
type Error ¶ added in v0.2.0
type Error string
Error is a client error.
type Font ¶ added in v0.2.0
type Font struct { Subset string `json:"subset,omitempty"` Family string `json:"font-family,omitempty"` Style string `json:"font-style,omitempty"` Weight string `json:"font-weight,omitempty"` Display string `json:"font-display,omitempty"` Stretch string `json:"font-stretch,omitempty"` Src string `json:"src,omitempty"` Format string `json:"format,omitempty"` Range []string `json:"unicode-range,omitempty"` }
Font describes a font face.
func All ¶ added in v0.2.0
All retrieves all font faces for the specified family by using multiple user agents.
func FontsFromStylesheetReader ¶ added in v0.2.0
FontsFromStylesheetReader parses stylesheet from the passed reader, returning any parsed font face.
type Query ¶
type Query struct { Family string UserAgent string Variants []string Subsets []string Styles []string Effects []string Directory string Display string Text string }
Query wraps a font request.
func NewQuery ¶
func NewQuery(family string, opts ...QueryOption) *Query
NewQuery builds a new webfont query.
type QueryOption ¶
type QueryOption func(*Query)
QueryOption is a webfonts query option.
func WithDirectory ¶ added in v0.2.0
func WithDirectory(directory string) QueryOption
WithDirectory is a query option to set directory.
func WithDisplay ¶ added in v0.2.0
func WithDisplay(display string) QueryOption
WithDisplay is a query option to set display.
func WithEffects ¶
func WithEffects(effects ...string) QueryOption
WithEffects is a query option to set effects.
func WithStyles ¶
func WithStyles(styles ...string) QueryOption
WithStyles is a query option to set styles.
func WithSubsets ¶
func WithSubsets(subsets ...string) QueryOption
WithSubsets is a query option to set subsets.
func WithText ¶ added in v0.2.0
func WithText(text string) QueryOption
WithText is a query option to set text.
func WithUserAgent ¶
func WithUserAgent(userAgent string) QueryOption
WithUserAgent is a query option to set the user agent.
func WithVariants ¶
func WithVariants(variants ...string) QueryOption
WithVariants is a query option to set variants.