pub trait HtmlElement {
fn tag() -> &'static str;
}
pub struct Html;
impl HtmlElement for Html {
fn tag() -> &'static str {
"html"
}
}
pub struct Base;
impl HtmlElement for Base {
fn tag() -> &'static str {
"base"
}
}
pub struct Head;
impl HtmlElement for Head {
fn tag() -> &'static str {
"head"
}
}
pub struct Link;
impl HtmlElement for Link {
fn tag() -> &'static str {
"link"
}
}
pub struct Meta;
impl HtmlElement for Meta {
fn tag() -> &'static str {
"meta"
}
}
pub struct Style;
impl HtmlElement for Style {
fn tag() -> &'static str {
"style"
}
}
pub struct Title;
impl HtmlElement for Title {
fn tag() -> &'static str {
"title"
}
}
pub struct Body;
impl HtmlElement for Body {
fn tag() -> &'static str {
"body"
}
}
pub struct Address;
impl HtmlElement for Address {
fn tag() -> &'static str {
"address"
}
}
pub struct Article;
impl HtmlElement for Article {
fn tag() -> &'static str {
"article"
}
}
pub struct Aside;
impl HtmlElement for Aside {
fn tag() -> &'static str {
"aside"
}
}
pub struct Footer;
impl HtmlElement for Footer {
fn tag() -> &'static str {
"footer"
}
}
pub struct Header;
impl HtmlElement for Header {
fn tag() -> &'static str {
"header"
}
}
pub struct H1;
impl HtmlElement for H1 {
fn tag() -> &'static str {
"h1"
}
}
pub struct H2;
impl HtmlElement for H2 {
fn tag() -> &'static str {
"h2"
}
}
pub struct H3;
impl HtmlElement for H3 {
fn tag() -> &'static str {
"h3"
}
}
pub struct H4;
impl HtmlElement for H4 {
fn tag() -> &'static str {
"h4"
}
}
pub struct H5;
impl HtmlElement for H5 {
fn tag() -> &'static str {
"h5"
}
}
pub struct H6;
impl HtmlElement for H6 {
fn tag() -> &'static str {
"h6"
}
}
pub struct Hgroup;
impl HtmlElement for Hgroup {
fn tag() -> &'static str {
"hgroup"
}
}
pub struct Main;
impl HtmlElement for Main {
fn tag() -> &'static str {
"main"
}
}
pub struct Nav;
impl HtmlElement for Nav {
fn tag() -> &'static str {
"nav"
}
}
pub struct Section;
impl HtmlElement for Section {
fn tag() -> &'static str {
"section"
}
}
pub struct Blockquote;
impl HtmlElement for Blockquote {
fn tag() -> &'static str {
"blockquote"
}
}
pub struct Dd;
impl HtmlElement for Dd {
fn tag() -> &'static str {
"dd"
}
}
pub struct Div;
impl HtmlElement for Div {
fn tag() -> &'static str {
"div"
}
}
pub struct Dl;
impl HtmlElement for Dl {
fn tag() -> &'static str {
"dl"
}
}
pub struct Dt;
impl HtmlElement for Dt {
fn tag() -> &'static str {
"dt"
}
}
pub struct Figcaption;
impl HtmlElement for Figcaption {
fn tag() -> &'static str {
"figcaption"
}
}
pub struct Figure;
impl HtmlElement for Figure {
fn tag() -> &'static str {
"figure"
}
}
pub struct Hr;
impl HtmlElement for Hr {
fn tag() -> &'static str {
"hr"
}
}
pub struct Li;
impl HtmlElement for Li {
fn tag() -> &'static str {
"li"
}
}
pub struct Ol;
impl HtmlElement for Ol {
fn tag() -> &'static str {
"ol"
}
}
pub struct P;
impl HtmlElement for P {
fn tag() -> &'static str {
"p"
}
}
pub struct Pre;
impl HtmlElement for Pre {
fn tag() -> &'static str {
"pre"
}
}
pub struct Ul;
impl HtmlElement for Ul {
fn tag() -> &'static str {
"ul"
}
}
pub struct A;
impl HtmlElement for A {
fn tag() -> &'static str {
"a"
}
}
pub struct Abbr;
impl HtmlElement for Abbr {
fn tag() -> &'static str {
"abbr"
}
}
pub struct B;
impl HtmlElement for B {
fn tag() -> &'static str {
"b"
}
}
pub struct Bdi;
impl HtmlElement for Bdi {
fn tag() -> &'static str {
"bdi"
}
}
pub struct Bdo;
impl HtmlElement for Bdo {
fn tag() -> &'static str {
"bdo"
}
}
pub struct Br;
impl HtmlElement for Br {
fn tag() -> &'static str {
"br"
}
}
pub struct Cite;
impl HtmlElement for Cite {
fn tag() -> &'static str {
"cite"
}
}
pub struct Code;
impl HtmlElement for Code {
fn tag() -> &'static str {
"code"
}
}
pub struct Data;
impl HtmlElement for Data {
fn tag() -> &'static str {
"data"
}
}
pub struct Dfn;
impl HtmlElement for Dfn {
fn tag() -> &'static str {
"dfn"
}
}
pub struct Em;
impl HtmlElement for Em {
fn tag() -> &'static str {
"em"
}
}
pub struct I;
impl HtmlElement for I {
fn tag() -> &'static str {
"i"
}
}
pub struct Kbd;
impl HtmlElement for Kbd {
fn tag() -> &'static str {
"kbd"
}
}
pub struct Mark;
impl HtmlElement for Mark {
fn tag() -> &'static str {
"mark"
}
}
pub struct Q;
impl HtmlElement for Q {
fn tag() -> &'static str {
"q"
}
}
pub struct Rb;
impl HtmlElement for Rb {
fn tag() -> &'static str {
"rb"
}
}
pub struct Rp;
impl HtmlElement for Rp {
fn tag() -> &'static str {
"rp"
}
}
pub struct Rt;
impl HtmlElement for Rt {
fn tag() -> &'static str {
"rt"
}
}
pub struct Rtc;
impl HtmlElement for Rtc {
fn tag() -> &'static str {
"rtc"
}
}
pub struct Ruby;
impl HtmlElement for Ruby {
fn tag() -> &'static str {
"ruby"
}
}
pub struct S;
impl HtmlElement for S {
fn tag() -> &'static str {
"s"
}
}
pub struct Samp;
impl HtmlElement for Samp {
fn tag() -> &'static str {
"samp"
}
}
pub struct Small;
impl HtmlElement for Small {
fn tag() -> &'static str {
"small"
}
}
pub struct Span;
impl HtmlElement for Span {
fn tag() -> &'static str {
"span"
}
}
pub struct Strong;
impl HtmlElement for Strong {
fn tag() -> &'static str {
"strong"
}
}
pub struct Sub;
impl HtmlElement for Sub {
fn tag() -> &'static str {
"sub"
}
}
pub struct Sup;
impl HtmlElement for Sup {
fn tag() -> &'static str {
"sup"
}
}
pub struct Time;
impl HtmlElement for Time {
fn tag() -> &'static str {
"time"
}
}
pub struct U;
impl HtmlElement for U {
fn tag() -> &'static str {
"u"
}
}
pub struct Var;
impl HtmlElement for Var {
fn tag() -> &'static str {
"var"
}
}
pub struct Wbr;
impl HtmlElement for Wbr {
fn tag() -> &'static str {
"wbr"
}
}
pub struct Area;
impl HtmlElement for Area {
fn tag() -> &'static str {
"area"
}
}
pub struct Audio;
impl HtmlElement for Audio {
fn tag() -> &'static str {
"audio"
}
}
pub struct Img;
impl HtmlElement for Img {
fn tag() -> &'static str {
"img"
}
}
pub struct Map;
impl HtmlElement for Map {
fn tag() -> &'static str {
"map"
}
}
pub struct Track;
impl HtmlElement for Track {
fn tag() -> &'static str {
"track"
}
}
pub struct Video;
impl HtmlElement for Video {
fn tag() -> &'static str {
"video"
}
}
pub struct Embed;
impl HtmlElement for Embed {
fn tag() -> &'static str {
"embed"
}
}
pub struct Iframe;
impl HtmlElement for Iframe {
fn tag() -> &'static str {
"iframe"
}
}
pub struct Object;
impl HtmlElement for Object {
fn tag() -> &'static str {
"object"
}
}
pub struct Param;
impl HtmlElement for Param {
fn tag() -> &'static str {
"param"
}
}
pub struct Picture;
impl HtmlElement for Picture {
fn tag() -> &'static str {
"picture"
}
}
pub struct Source;
impl HtmlElement for Source {
fn tag() -> &'static str {
"source"
}
}
pub struct Canvas;
impl HtmlElement for Canvas {
fn tag() -> &'static str {
"canvas"
}
}
pub struct Noscript;
impl HtmlElement for Noscript {
fn tag() -> &'static str {
"noscript"
}
}
pub struct Script;
impl HtmlElement for Script {
fn tag() -> &'static str {
"script"
}
}
pub struct Del;
impl HtmlElement for Del {
fn tag() -> &'static str {
"del"
}
}
pub struct Ins;
impl HtmlElement for Ins {
fn tag() -> &'static str {
"ins"
}
}
pub struct Caption;
impl HtmlElement for Caption {
fn tag() -> &'static str {
"caption"
}
}
pub struct Col;
impl HtmlElement for Col {
fn tag() -> &'static str {
"col"
}
}
pub struct Colgroup;
impl HtmlElement for Colgroup {
fn tag() -> &'static str {
"colgroup"
}
}
pub struct Table;
impl HtmlElement for Table {
fn tag() -> &'static str {
"table"
}
}
pub struct Tbody;
impl HtmlElement for Tbody {
fn tag() -> &'static str {
"tbody"
}
}
pub struct Td;
impl HtmlElement for Td {
fn tag() -> &'static str {
"td"
}
}
pub struct Tfoot;
impl HtmlElement for Tfoot {
fn tag() -> &'static str {
"tfoot"
}
}
pub struct Th;
impl HtmlElement for Th {
fn tag() -> &'static str {
"th"
}
}
pub struct Thead;
impl HtmlElement for Thead {
fn tag() -> &'static str {
"thead"
}
}
pub struct Tr;
impl HtmlElement for Tr {
fn tag() -> &'static str {
"tr"
}
}
pub struct Button;
impl HtmlElement for Button {
fn tag() -> &'static str {
"button"
}
}
pub struct Datalist;
impl HtmlElement for Datalist {
fn tag() -> &'static str {
"datalist"
}
}
pub struct Fieldset;
impl HtmlElement for Fieldset {
fn tag() -> &'static str {
"fieldset"
}
}
pub struct Form;
impl HtmlElement for Form {
fn tag() -> &'static str {
"form"
}
}
pub struct Input;
impl HtmlElement for Input {
fn tag() -> &'static str {
"input"
}
}
pub struct Label;
impl HtmlElement for Label {
fn tag() -> &'static str {
"label"
}
}
pub struct Legend;
impl HtmlElement for Legend {
fn tag() -> &'static str {
"legend"
}
}
pub struct Meter;
impl HtmlElement for Meter {
fn tag() -> &'static str {
"meter"
}
}
pub struct Optgroup;
impl HtmlElement for Optgroup {
fn tag() -> &'static str {
"optgroup"
}
}
pub struct Option;
impl HtmlElement for Option {
fn tag() -> &'static str {
"option"
}
}
pub struct Output;
impl HtmlElement for Output {
fn tag() -> &'static str {
"output"
}
}
pub struct Progress;
impl HtmlElement for Progress {
fn tag() -> &'static str {
"progress"
}
}
pub struct Select;
impl HtmlElement for Select {
fn tag() -> &'static str {
"select"
}
}
pub struct Textarea;
impl HtmlElement for Textarea {
fn tag() -> &'static str {
"textarea"
}
}
pub struct Details;
impl HtmlElement for Details {
fn tag() -> &'static str {
"details"
}
}
pub struct Dialog;
impl HtmlElement for Dialog {
fn tag() -> &'static str {
"dialog"
}
}
pub struct Menu;
impl HtmlElement for Menu {
fn tag() -> &'static str {
"menu"
}
}
pub struct Summary;
impl HtmlElement for Summary {
fn tag() -> &'static str {
"summary"
}
}
pub struct Slot;
impl HtmlElement for Slot {
fn tag() -> &'static str {
"slot"
}
}
pub struct Template;
impl HtmlElement for Template {
fn tag() -> &'static str {
"template"
}
}