diff options
Diffstat (limited to 'vendor/github.com/tdewolff/minify/v2/html/table.go')
-rw-r--r-- | vendor/github.com/tdewolff/minify/v2/html/table.go | 158 |
1 files changed, 92 insertions, 66 deletions
diff --git a/vendor/github.com/tdewolff/minify/v2/html/table.go b/vendor/github.com/tdewolff/minify/v2/html/table.go index 22239fcca..2fd3207f1 100644 --- a/vendor/github.com/tdewolff/minify/v2/html/table.go +++ b/vendor/github.com/tdewolff/minify/v2/html/table.go @@ -3,12 +3,12 @@ package html type traits uint16 const ( - normalTag traits = 1 << iota - rawTag // raw tags need special processing for their content - nonPhrasingTag // non-phrasing elements are unaffected by whitespace, remove spaces around these tags - objectTag // content tags with a few exclusions, keep spaces after these open/close tags - omitPTag // omit p end tag if it is followed by this start tag - keepPTag // keep p end tag if it is followed by this end tag + normalTag traits = 1 << iota + rawTag // raw tags need special processing for their content + blockTag // remove spaces around these tags + objectTag // keep spaces after these open/close tags + omitPTag // omit p end tag if it is followed by this start tag + keepPTag // keep p end tag if it is followed by this end tag ) const ( @@ -21,54 +21,54 @@ const ( var tagMap = map[Hash]traits{ A: keepPTag, Abbr: normalTag, - Address: nonPhrasingTag | omitPTag, + Address: blockTag | omitPTag, Area: normalTag, - Article: nonPhrasingTag | omitPTag, - Aside: nonPhrasingTag | omitPTag, + Article: blockTag | omitPTag, + Aside: blockTag | omitPTag, Audio: keepPTag, B: normalTag, Base: normalTag, Bb: normalTag, Bdi: normalTag, Bdo: normalTag, - Blockquote: nonPhrasingTag | omitPTag, - Body: nonPhrasingTag, - Br: nonPhrasingTag, + Blockquote: blockTag | omitPTag, + Body: normalTag, + Br: blockTag, Button: objectTag, Canvas: objectTag | keepPTag, - Caption: nonPhrasingTag, + Caption: blockTag, Cite: normalTag, Code: normalTag, - Col: nonPhrasingTag, - Colgroup: nonPhrasingTag, + Col: blockTag, + Colgroup: blockTag, Data: normalTag, - Datalist: normalTag, - Dd: nonPhrasingTag, + Datalist: normalTag, // no text content + Dd: blockTag, Del: keepPTag, - Details: omitPTag, + Details: blockTag | omitPTag, Dfn: normalTag, Dialog: normalTag, - Div: nonPhrasingTag | omitPTag, - Dl: nonPhrasingTag | omitPTag, - Dt: nonPhrasingTag, + Div: blockTag | omitPTag, + Dl: blockTag | omitPTag, + Dt: blockTag, Em: normalTag, - Embed: nonPhrasingTag, - Fieldset: nonPhrasingTag | omitPTag, - Figcaption: nonPhrasingTag | omitPTag, - Figure: nonPhrasingTag | omitPTag, - Footer: nonPhrasingTag | omitPTag, - Form: nonPhrasingTag | omitPTag, - H1: nonPhrasingTag | omitPTag, - H2: nonPhrasingTag | omitPTag, - H3: nonPhrasingTag | omitPTag, - H4: nonPhrasingTag | omitPTag, - H5: nonPhrasingTag | omitPTag, - H6: nonPhrasingTag | omitPTag, - Head: nonPhrasingTag, - Header: nonPhrasingTag | omitPTag, - Hgroup: nonPhrasingTag, - Hr: nonPhrasingTag | omitPTag, - Html: nonPhrasingTag, + Embed: normalTag, + Fieldset: blockTag | omitPTag, + Figcaption: blockTag | omitPTag, + Figure: blockTag | omitPTag, + Footer: blockTag | omitPTag, + Form: blockTag | omitPTag, + H1: blockTag | omitPTag, + H2: blockTag | omitPTag, + H3: blockTag | omitPTag, + H4: blockTag | omitPTag, + H5: blockTag | omitPTag, + H6: blockTag | omitPTag, + Head: blockTag, + Header: blockTag | omitPTag, + Hgroup: blockTag, + Hr: blockTag | omitPTag, + Html: blockTag, I: normalTag, Iframe: rawTag | objectTag, Img: objectTag, @@ -76,64 +76,90 @@ var tagMap = map[Hash]traits{ Ins: keepPTag, Kbd: normalTag, Label: normalTag, - Legend: normalTag, - Li: nonPhrasingTag, + Legend: blockTag, + Li: blockTag, Link: normalTag, - Main: nonPhrasingTag | omitPTag, + Main: blockTag | omitPTag, Map: keepPTag, Mark: normalTag, Math: rawTag, - Menu: omitPTag, - Meta: nonPhrasingTag, + Menu: blockTag | omitPTag, + Meta: normalTag, Meter: objectTag, - Nav: nonPhrasingTag | omitPTag, - Noscript: nonPhrasingTag | keepPTag, + Nav: blockTag | omitPTag, + Noscript: blockTag | keepPTag, Object: objectTag, - Ol: nonPhrasingTag | omitPTag, - Optgroup: normalTag, - Option: normalTag, - Output: nonPhrasingTag, - P: nonPhrasingTag | omitPTag, + Ol: blockTag | omitPTag, + Optgroup: normalTag, // no text content + Option: blockTag, + Output: normalTag, + P: blockTag | omitPTag, Param: normalTag, Picture: normalTag, - Pre: nonPhrasingTag | omitPTag, + Pre: blockTag | omitPTag, Progress: objectTag, Q: objectTag, Rp: normalTag, - Rt: normalTag, + Rt: objectTag, Ruby: normalTag, S: normalTag, Samp: normalTag, Script: rawTag, - Section: nonPhrasingTag | omitPTag, + Section: blockTag | omitPTag, Select: objectTag, Slot: normalTag, Small: normalTag, Source: normalTag, Span: normalTag, Strong: normalTag, - Style: rawTag | nonPhrasingTag, + Style: rawTag | blockTag, Sub: normalTag, - Summary: normalTag, + Summary: blockTag, Sup: normalTag, Svg: rawTag | objectTag, - Table: nonPhrasingTag | omitPTag, - Tbody: nonPhrasingTag, - Td: nonPhrasingTag, + Table: blockTag | omitPTag, + Tbody: blockTag, + Td: blockTag, Template: normalTag, Textarea: rawTag | objectTag, - Tfoot: nonPhrasingTag, - Th: nonPhrasingTag, - Thead: nonPhrasingTag, + Tfoot: blockTag, + Th: blockTag, + Thead: blockTag, Time: normalTag, - Title: nonPhrasingTag, - Tr: nonPhrasingTag, + Title: normalTag, + Tr: blockTag, Track: normalTag, U: normalTag, - Ul: nonPhrasingTag | omitPTag, + Ul: blockTag | omitPTag, Var: normalTag, Video: objectTag | keepPTag, - Wbr: normalTag, + Wbr: objectTag, + + // removed tags + Acronym: normalTag, + Applet: normalTag, + Basefont: normalTag, + Big: normalTag, + Center: blockTag, + Dir: blockTag, + Font: normalTag, + Frame: normalTag, + Frameset: normalTag, + Image: objectTag, + Marquee: blockTag, + Menuitem: normalTag, + Nobr: normalTag, + Noembed: blockTag, + Noframes: blockTag, + Plaintext: normalTag, + Rtc: objectTag, + Rb: normalTag, + Strike: normalTag, + Tt: normalTag, + Xmp: blockTag, + + // experimental tags + Portal: normalTag, } var attrMap = map[Hash]traits{ @@ -574,7 +600,7 @@ var EntitiesMap = map[string][]byte{ "SupersetEqual": []byte("⊇"), "Supset": []byte("⋑"), "THORN": []byte("Þ"), - "Tab": []byte(" "), + "Tab": []byte("\t"), "Tcaron": []byte("Ť"), "Tcedil": []byte("Ţ"), "Therefore": []byte("∴"), |