all repos

rss-tools @ a5ac52722b131734c74504b6e6f4d9900536cac7

get rss feed from sources that(i need and) dont provide one

rss-tools/vendor/golang.org/x/net/html/const.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
we're vendoring now, 7 days ago
1
// Copyright 2011 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4
5
package html
6
7
// Section 12.2.4.2 of the HTML5 specification says "The following elements
8
// have varying levels of special parsing rules".
9
// https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements
10
var isSpecialElementMap = map[string]bool{
11
	"address":    true,
12
	"applet":     true,
13
	"area":       true,
14
	"article":    true,
15
	"aside":      true,
16
	"base":       true,
17
	"basefont":   true,
18
	"bgsound":    true,
19
	"blockquote": true,
20
	"body":       true,
21
	"br":         true,
22
	"button":     true,
23
	"caption":    true,
24
	"center":     true,
25
	"col":        true,
26
	"colgroup":   true,
27
	"dd":         true,
28
	"details":    true,
29
	"dir":        true,
30
	"div":        true,
31
	"dl":         true,
32
	"dt":         true,
33
	"embed":      true,
34
	"fieldset":   true,
35
	"figcaption": true,
36
	"figure":     true,
37
	"footer":     true,
38
	"form":       true,
39
	"frame":      true,
40
	"frameset":   true,
41
	"h1":         true,
42
	"h2":         true,
43
	"h3":         true,
44
	"h4":         true,
45
	"h5":         true,
46
	"h6":         true,
47
	"head":       true,
48
	"header":     true,
49
	"hgroup":     true,
50
	"hr":         true,
51
	"html":       true,
52
	"iframe":     true,
53
	"img":        true,
54
	"input":      true,
55
	"keygen":     true, // "keygen" has been removed from the spec, but are kept here for backwards compatibility.
56
	"li":         true,
57
	"link":       true,
58
	"listing":    true,
59
	"main":       true,
60
	"marquee":    true,
61
	"menu":       true,
62
	"meta":       true,
63
	"nav":        true,
64
	"noembed":    true,
65
	"noframes":   true,
66
	"noscript":   true,
67
	"object":     true,
68
	"ol":         true,
69
	"p":          true,
70
	"param":      true,
71
	"plaintext":  true,
72
	"pre":        true,
73
	"script":     true,
74
	"section":    true,
75
	"select":     true,
76
	"source":     true,
77
	"style":      true,
78
	"summary":    true,
79
	"table":      true,
80
	"tbody":      true,
81
	"td":         true,
82
	"template":   true,
83
	"textarea":   true,
84
	"tfoot":      true,
85
	"th":         true,
86
	"thead":      true,
87
	"title":      true,
88
	"tr":         true,
89
	"track":      true,
90
	"ul":         true,
91
	"wbr":        true,
92
	"xmp":        true,
93
}
94
95
func isSpecialElement(element *Node) bool {
96
	switch element.Namespace {
97
	case "", "html":
98
		return isSpecialElementMap[element.Data]
99
	case "math":
100
		switch element.Data {
101
		case "mi", "mo", "mn", "ms", "mtext", "annotation-xml":
102
			return true
103
		}
104
	case "svg":
105
		switch element.Data {
106
		case "foreignObject", "desc", "title":
107
			return true
108
		}
109
	}
110
	return false
111
}