/
dom.cljc
150 lines (143 loc) · 1.62 KB
/
dom.cljc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
(ns helix.dom
(:refer-clojure :exclude [map meta time])
(:require [helix.core :as hx])
#?(:cljs (:require-macros [helix.dom])))
(def tags
'[input textarea option select
a
abbr
address
area
article
aside
audio
b
base
bdi
bdo
big
blockquote
body
br
button
canvas
caption
cite
code
col
colgroup
data
datalist
dd
del
details
dfn
dialog
div
dl
dt
em
embed
fieldset
figcaption
figure
footer
form
h1
h2
h3
h4
h5
h6
head
header
hr
html
i
iframe
img
ins
kbd
keygen
label
legend
li
link
main
map
mark
menu
menuitem
meta
meter
nav
noscript
object
ol
optgroup
output
p
param
picture
pre
progress
q
rp
rt
ruby
s
samp
script
section
small
source
span
strong
style
sub
summary
sup
table
tbody
td
tfoot
th
thead
time
title
tr
track
u
ul
var
video
wbr
;; svg
circle
clipPath
ellipse
g
line
mask
path
pattern
polyline
rect
svg
text
defs
linearGradient
polygon
radialGradient
stop
tspan])
#?(:clj (defn gen-tag
[tag]
`(defmacro ~tag [& args#]
`(hx/$ ~(keyword '~tag) ~@args#))))
#?(:clj (defmacro gen-tags
[]
`(do
~@(for [tag tags]
(gen-tag tag)))))
#?(:clj (gen-tags))