summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2022-08-06 03:15:55 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2022-08-06 03:15:55 -0300
commit89e1a73a4bb154f2e2c6069eb7273abce9984cdd (patch)
tree4a3d74e0e997b758208ae9c01b1a2bfda7abc9cb
parentef42aa8681ac2cab218c9911afc894e5c0debb91 (diff)
downloadshtml-89e1a73a4bb154f2e2c6069eb7273abce9984cdd.tar.gz
shtml-89e1a73a4bb154f2e2c6069eb7273abce9984cdd.zip
Add support for most html tags
-rw-r--r--package.lisp101
-rw-r--r--shtml.lisp96
2 files changed, 191 insertions, 6 deletions
diff --git a/package.lisp b/package.lisp
index 388d21e..27fa91f 100644
--- a/package.lisp
+++ b/package.lisp
@@ -1,2 +1,101 @@
(uiop:define-package #:shtml
- (:use #:cl))
+ (:use #:cl)
+ (:export #:a
+ #:abbr
+ #:address
+ #:area
+ #:article
+ #:aside
+ #:audio
+ #:b
+ #:base
+ #:blockquote
+ #:body
+ #:br
+ #:button
+ #:canvas
+ #:caption
+ #:cite
+ #:code
+ #:col
+ #:colgroup
+ #:data
+ #:datalist
+ #:dd
+ #:del
+ #:details
+ #:div
+ #:dl
+ #:dt
+ #:em
+ #:embed
+ #:fieldset
+ #:figcaption
+ #:figure
+ #:footer
+ #:form
+ #:h1
+ #:h2
+ #:h3
+ #:h4
+ #:h5
+ #:h6
+ #:head
+ #:head
+ #:header
+ #:hr
+ #:html
+ #:i
+ #:img
+ #:input
+ #:ins
+ #:label
+ #:legend
+ #:li
+ #:link
+ #:main
+ #:mark
+ #:meta
+ #:nav
+ #:noscript
+ #:object
+ #:ol
+ #:optgroup
+ #:option
+ #:output
+ #:p
+ #:param
+ #:picture
+ #:pre
+ #:progress
+ #:q
+ #:s
+ #:samp
+ #:script
+ #:section
+ #:select
+ #:small
+ #:source
+ #:span
+ #:strong
+ #:style
+ #:sub
+ #:summary
+ #:sup
+ #:svg
+ #:table
+ #:tbody
+ #:td
+ #:template
+ #:textarea
+ #:tfoot
+ #:th
+ #:thead
+ #:title
+ #:tr
+ #:track
+ #:u
+ #:ul
+ #:var
+ #:video
+ #:wbr))
diff --git a/shtml.lisp b/shtml.lisp
index ac72d2c..fe20999 100644
--- a/shtml.lisp
+++ b/shtml.lisp
@@ -43,16 +43,102 @@
,tag-name
(trim-flatten-assoc ,attrs-and-values))))))
-(define-html html)
-(define-html head)
-(define-html title)
+(define-html a :attrs (download href hreflang media ping referrerpolicy rel target type))
+(define-html abbr)
+(define-html address)
+(define-html area :attrs (alt coords download href hreflang media referrerpolicy rel shape target type))
+(define-html article)
+(define-html aside)
+(define-html audio :attrs (autoplay controls loop muted preload src))
+(define-html b)
+(define-html base :attrs (href target))
+(define-html blockquote :attrs (cite))
(define-html body)
+(define-html br :single t)
+(define-html button :attrs (autofocus disabled form formaction formenctype formmethod formnovalidate formtarget name type value))
+(define-html canvas :attrs (height width))
+(define-html caption)
+(define-html cite)
+(define-html code)
+(define-html col :attrs (span))
+(define-html colgroup :attrs (span))
+(define-html data :attrs (value))
+(define-html datalist)
+(define-html dd)
+(define-html del :attrs (cite datetime))
+(define-html details :attrs (open))
+(define-html div)
+(define-html dl)
+(define-html dt)
+(define-html em)
+(define-html embed :attrs (height src type width))
+(define-html fieldset :attrs (disabled form name))
+(define-html figcaption)
+(define-html figure)
+(define-html footer)
+(define-html form :attrs (accept-charset action autocomplete enctype method name novalidate rel target))
(define-html h1)
(define-html h2)
(define-html h3)
(define-html h4)
(define-html h5)
(define-html h6)
-(define-html p)
-(define-html br :single t)
+(define-html head)
+(define-html head)
+(define-html header)
(define-html hr :single t)
+(define-html html :attrs (xmlns))
+(define-html i)
+(define-html img :attrs (alt crossorigin height ismap loading longdesc referrerpolicy sizes src srcset usemap width))
+(define-html input :attrs (accept alt autocomplete autofocus checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min minlength multiple name pattern placeholder readonly required size src step type value width))
+(define-html ins :attrs (cite datetime))
+(define-html label :attrs (for form))
+(define-html legend)
+(define-html li :attrs (value))
+(define-html link :attrs (crossorigin href hreflang media referrerpolicy rel sizes type))
+(define-html main)
+(define-html mark)
+(define-html meta :attrs (charset content http_equiv name))
+(define-html nav)
+(define-html noscript)
+(define-html object :attrs (data form height name type usemap width))
+(define-html ol :attrs (refersed start type))
+(define-html optgroup :attrs (disabled label))
+(define-html option :attrs (disabled label selected value))
+(define-html output :attrs (for form name))
+(define-html p)
+(define-html param :attrs (name value))
+(define-html picture)
+(define-html pre)
+(define-html progress :attrs (max value))
+(define-html q :attrs (cite))
+(define-html s)
+(define-html samp)
+(define-html script :attrs (async crossorigin defer integrity nomodule referrerpolicy src type))
+(define-html section)
+(define-html select :attrs (autofocus disabled form multiple name requred size))
+(define-html small)
+(define-html source :attrs (media sizes src srcset type))
+(define-html span)
+(define-html strong)
+(define-html style :attrs (media type))
+(define-html sub)
+(define-html summary)
+(define-html sup)
+(define-html svg)
+(define-html table)
+(define-html tbody)
+(define-html td :attrs (colspan headers rowspan))
+(define-html template)
+(define-html textarea :attrs (autocomplete autofocus cols dirname disabled form maxlength minlength name placeholder readonly required rows spellcheck wrap))
+(define-html tfoot)
+(define-html th :attrs (abbr colspan headers rowspan scope))
+(define-html thead)
+(define-html title)
+(define-html tr)
+(define-html track :attrs (default kind label src srclang))
+(define-html u)
+(define-html ul)
+(define-html var)
+(define-html video :attrs (autoplay controls height loop muted poster preload src width))
+(define-html wbr)