htmlutil

package
v0.66.5 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2024 License: MIT Imports: 15 Imported by: 8

Documentation

Index

Constants

View Source
const (
	TagDiv           = "div"
	AttributeAlt     = "alt"
	AttributeClass   = "class"
	AttributeHref    = "href"
	AttributeName    = "name"
	AttributeOnclick = "onclick"
	AttributeStyle   = "style"
	DelimitSemicolon = ";"
	DelimitSpace     = " "
)
View Source
const (
	Color2GreenHex       = "#00FF2A"
	Color2YellowHex      = "#DFDD13"
	Color2RedHex         = "#FF0000"
	RingCentralOrangeHex = "#FF8800"
	RingCentralBlueHex   = "#0073AE"
	RingCentralGreyHex   = "#585858"
)

Variables

View Source
var (
	ErrAttributeNameIsRequired = errors.New("attribute name is required")
	ErrTagNameIsRequired       = errors.New("tag name is required")
)
View Source
var (
	ErrTokenNotFound           = errors.New("token(s) not found")
	ErrTokenizerNotInitialized = errors.New("tokenizer not initialized")
)
View Source
var ChartColor1 = [...]string{
	"#3366CC",
	"#DC3912",
	"#FF9900",
	"#109618",
	"#990099",
	"#3B3EAC",
	"#0099C6",
	"#DD4477",
	"#66AA00",
	"#B82E2E",
	"#316395",
	"#994499",
	"#22AA99",
	"#AAAA11",
	"#6633CC",
	"#E67300",
	"#8B0707",
	"#329262",
	"#5574A6",
	"#3B3EAC",
}

ChartColor1 is the color palette for Google Charts as collected by Craig Davis here: https://gist.github.com/there4/2579834

Functions

func AtomLookupString added in v0.45.0

func AtomLookupString(s string) atom.Atom

AtomLookupString returns the atom whose name is s. It returns zero if there is no such atom. The lookup is case sensitive.

func BuildAttributeHTML added in v0.40.12

func BuildAttributeHTML(key string, values []string, delimiter string, htmlEscape bool) string

func EscapeStrings added in v0.49.0

func EscapeStrings(s []string) []string

func HTMLToText added in v0.37.0

func HTMLToText(s string) string

HTMLToText converts HTML to multi-line text.

func HTMLToTextAtom added in v0.43.0

func HTMLToTextAtom(b []byte, policy *bluemonday.Policy, a atom.Atom) (string, error)

func HTMLToTextCondensed added in v0.37.0

func HTMLToTextCondensed(s string) string

HTMLToTextCondensed removes HTML tags, unescapes HTML entities, and removes extra whitespace including non-breaking spaces.

func HTMLToTextH1 added in v0.43.0

func HTMLToTextH1(b []byte, policy *bluemonday.Policy) (string, error)

func NewTokenizerBytes added in v0.45.0

func NewTokenizerBytes(b []byte) *html.Tokenizer

func NewTokenizerFile added in v0.45.0

func NewTokenizerFile(name string) (*html.Tokenizer, error)

func NextTextToken added in v0.45.0

func NextTextToken(z *html.Tokenizer, opts NextTokensOpts) (html.Token, error)

NextTextToken uses `NextTokensOpts` specifically for `SkipErrors`, `StartFilter`, and `StartAttributeValueMatch`.

func NextToken added in v0.45.0

func NextToken(z *html.Tokenizer, skipErrors bool, tokFilters ...html.Token) (html.Token, error)
func ParseLink(tokens ...html.Token) (href string, desc string, err error)

func SimplifyHTMLText added in v0.37.0

func SimplifyHTMLText(s string) string

func StreamlineCRLFs

func StreamlineCRLFs(s string) string

func TextToHTML added in v0.37.0

func TextToHTML(s string) string

func TextToHTMLBr2 added in v0.37.0

func TextToHTMLBr2(s string) string

func TokenAttribute added in v0.45.0

func TokenAttribute(token html.Token, attrName string) (string, error)

func TokenMap added in v0.45.0

func TokenMap(t html.Token) map[string]string

func TokenMatchLeft added in v0.45.0

func TokenMatchLeft(tokFilter, tok html.Token, attrValMatchinfo *stringsutil.MatchInfo) bool

TokenMatchLeft returns true if the token matches the token filter.

Types

type AtomSet added in v0.45.0

type AtomSet struct {
	Atoms map[string]atom.Atom
}

func NewAtomSet added in v0.45.0

func NewAtomSet(htmlAtoms ...atom.Atom) AtomSet

func NewAtomSetString added in v0.45.0

func NewAtomSetString(tagNames ...string) (AtomSet, error)

func NewAtomSetStringMust added in v0.45.0

func NewAtomSetStringMust(tagNames ...string) AtomSet

func (AtomSet) Add added in v0.45.0

func (set AtomSet) Add(htmlAtoms ...atom.Atom)

func (AtomSet) Exists added in v0.45.0

func (set AtomSet) Exists(htmlAtom atom.Atom) bool

func (AtomSet) Len added in v0.45.0

func (set AtomSet) Len() int

func (AtomSet) Names added in v0.45.0

func (set AtomSet) Names() []string

type Attributes added in v0.45.0

type Attributes []html.Attribute

func (Attributes) Find added in v0.45.0

func (attrs Attributes) Find(ns, key, val *string, n int) []html.Attribute

func (Attributes) FindOne added in v0.45.0

func (attrs Attributes) FindOne(ns, key, val *string, errOnNone, errOnMulti bool) (html.Attribute, error)

func (Attributes) FindVal added in v0.45.0

func (attrs Attributes) FindVal(ns, key *string) string

func (Attributes) FindVals added in v0.45.0

func (attrs Attributes) FindVals(ns, key *string, n int) []string

func (Attributes) Index added in v0.50.0

func (attrs Attributes) Index(attr html.Attribute, valMatch *stringsutil.MatchInfo) int

Index returns the index location of the matching `html.Attribute`. If `*stringsutil.MatchInfo` is nil an exact match is required. If no match is found, `-1` is returned.`

func (Attributes) IndexFunc added in v0.50.0

func (attrs Attributes) IndexFunc(f func(a html.Attribute) bool) int

func (Attributes) IndexSimple added in v0.50.0

func (attrs Attributes) IndexSimple(ns, key, val *string) int

type Description added in v0.45.0

type Description struct {
	Term        Tokens
	Description Tokens
}

func (*Description) DescriptionString added in v0.45.0

func (d *Description) DescriptionString() string

func (*Description) Empty added in v0.45.0

func (d *Description) Empty() bool

func (*Description) Strings added in v0.45.0

func (d *Description) Strings() []string

func (*Description) TermString added in v0.45.0

func (d *Description) TermString() string

type DescriptionList added in v0.45.0

type DescriptionList []Description

func ParseDescriptionListTokens added in v0.45.0

func ParseDescriptionListTokens(toks ...html.Token) DescriptionList

func TokenizerDescriptionListNext added in v0.45.0

func TokenizerDescriptionListNext(z *html.Tokenizer) (DescriptionList, error)

func (DescriptionList) Strings added in v0.45.0

func (dl DescriptionList) Strings() [][]string

type DescriptionLists added in v0.45.0

type DescriptionLists []DescriptionList

func TokenizerDescriptionLists added in v0.45.0

func TokenizerDescriptionLists(z *html.Tokenizer) (DescriptionLists, error)

func (DescriptionLists) Strings added in v0.45.0

func (dls DescriptionLists) Strings() [][][]string

type Element added in v0.39.4

type Element struct {
	TagName   string
	Attrs     map[string][]string
	SelfClose bool
	InnerHTML []stringsutil.StringableWithErr
}

func NewElement added in v0.39.4

func NewElement() *Element

func (*Element) AddAttribute added in v0.40.12

func (el *Element) AddAttribute(key string, values ...string) error

func (*Element) AddInnerHTML added in v0.40.13

func (el *Element) AddInnerHTML(innerHTML stringsutil.StringableWithErr)

func (*Element) AddInnerHTMLText added in v0.40.13

func (el *Element) AddInnerHTMLText(text string, escaped bool)

func (*Element) String added in v0.39.4

func (el *Element) String() (string, error)
type Link struct {
	Href      string
	InnerHTML string
}

Link is a struct to hold information for an HTML link.

type NextTokensOpts added in v0.47.0

type NextTokensOpts struct {
	SkipErrors               bool
	IncludeChain             bool
	InclusiveMatch           bool
	StartFilter              Tokens
	StartAttributeValueMatch *stringsutil.MatchInfo
	EndFilter                Tokens
}

type Text added in v0.40.13

type Text struct {
	Text    string
	Escaped bool
}

Text represents a text string that fulfills the `Stringable` interface.

func (Text) String added in v0.40.13

func (s Text) String() (string, error)

type Tokens added in v0.45.0

type Tokens []html.Token

func NextTokens added in v0.47.0

func NextTokens(z *html.Tokenizer, opts NextTokensOpts) (Tokens, error)

func (Tokens) Maps added in v0.45.0

func (tokens Tokens) Maps() []map[string]string

func (Tokens) MatchLeft added in v0.45.0

func (tokens Tokens) MatchLeft(tok html.Token, attrValMatchinfo *stringsutil.MatchInfo) bool

MatchLeft matches the supplied token with the tokens in the set. only the attributes in the set need to match for a `true` result. One one set token need to match for success.

func (Tokens) String added in v0.45.0

func (tokens Tokens) String() string

func (Tokens) Subset added in v0.47.0

func (tokens Tokens) Subset(opts NextTokensOpts) Tokens

func (Tokens) Table added in v0.47.0

func (tokens Tokens) Table() [][]string

Table returns a `[][]string` representing table data as text. Currently assumes input tokens represent one table and there are no nested tables. The output can be used with `github.com/grokify/gocharts/data/table`.

func (Tokens) Tokenizer added in v0.64.8

func (tokens Tokens) Tokenizer() *html.Tokenizer

Jump to

Keyboard shortcuts

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