summaryrefslogtreecommitdiff
path: root/vendor/github.com/tdewolff/minify/v2/html/table.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tdewolff/minify/v2/html/table.go')
-rw-r--r--vendor/github.com/tdewolff/minify/v2/html/table.go158
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("&supe;"),
"Supset": []byte("&Sup;"),
"THORN": []byte("&#222;"),
- "Tab": []byte(" "),
+ "Tab": []byte("\t"),
"Tcaron": []byte("&#356;"),
"Tcedil": []byte("&#354;"),
"Therefore": []byte("&#8756;"),