tagsoup 0.2.0

Fun html-like tag soup parser with zero dependencies.
Documentation

// https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements
known! {
/// Known tag identifiers.
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
#[non_exhaustive]
pub TagId {
	// Main root
	Html: "html",

	// Document metadata
	Base: "base",
	Head: "head",
	Link: "link",
	Meta: "meta",
	Style: "style",
	Title: "title",

	// Sectioning root
	Body: "body",

	// Content sectioning
	Address: "address",
	Article: "article",
	Aside: "aside",
	Footer: "footer",
	Header: "header",
	H1: "h1",
	H2: "h2",
	H3: "h3",
	H4: "h4",
	H5: "h5",
	H6: "h6",
	Hgroup: "hgroup",
	Main: "main",
	Nav: "nav",
	Section: "section",
	Search: "search",

	// Text content
	Blockquote: "blockquote",
	Dd: "dd",
	Div: "div",
	Dl: "dl",
	Dt: "dt",
	Figcaption: "figcaption",
	Figure: "figure",
	Hr: "hr",
	Li: "li",
	Menu: "menu",
	Ol: "ol",
	P: "p",
	Pre: "pre",
	Ul: "ul",

	// Inline text semantics
	A: "a",
	Abbr: "abbr",
	B: "b",
	Bdi: "bdi",
	Bdo: "bdo",
	Br: "br",
	Cite: "cite",
	Code: "code",
	Data: "data",
	Dfn: "dfn",
	Em: "em",
	I: "i",
	Kbd: "kbd",
	Mark: "mark",
	Q: "q",
	Rp: "rp",
	Rt: "rt",
	Ruby: "ruby",
	S: "s",
	Samp: "samp",
	Small: "small",
	Span: "span",
	Strong: "strong",
	Sub: "sub",
	Sup: "sup",
	Time: "time",
	U: "u",
	Var: "var",
	Wbr: "wbr",

	// Image and multimedia
	Area: "area",
	Audio: "audio",
	Img: "img",
	Map: "map",
	Track: "track",
	Video: "video",

	// Embedded content
	Embed: "embed",
	Fencedframe: "fencedframe",
	Iframe: "iframe",
	Object: "object",
	Picture: "picture",
	Source: "source",

	// Scripting
	Canvas: "canvas",
	Noscript: "noscript",
	Script: "script",

	// Demarcating edits
	Del: "del",
	Ins: "ins",

	// Table content
	Caption: "caption",
	Col: "col",
	Colgroup: "colgroup",
	Table: "table",
	Tbody: "tbody",
	Td: "td",
	Tfoot: "tfoot",
	Th: "th",
	Thead: "thead",
	Tr: "tr",

	// Forms
	Button: "button",
	Datalist: "datalist",
	Fieldset: "fieldset",
	Form: "form",
	Input: "input",
	Label: "label",
	Legend: "legend",
	Meter: "meter",
	Optgroup: "optgroup",
	Option: "option",
	Output: "output",
	Progress: "progress",
	Select: "select",
	Selectedcontent: "selectedcontent",
	Textarea: "textarea",

	// Interactive elements
	Details: "details",
	Dialog: "dialog",
	Geolocation: "geolocation",
	Summary: "summary",

	// Web Components
	Slot: "slot",
	Template: "template",

	// Obsolete and deprecated elements
	Acronym: "acronym",
	Big: "big",
	Center: "center",
	Content: "content",
	Dir: "dir",
	Font: "font",
	Frame: "frame",
	Frameset: "frameset",
	Image: "image",
	Marquee: "marquee",
	Menuitem: "menuitem",
	Nobr: "nobr",
	Noembed: "noembed",
	Noframes: "noframes",
	Param: "param",
	Plaintext: "plaintext",
	Rb: "rb",
	Rtc: "rtc",
	Shadow: "shadow",
	Strike: "strike",
	Tt: "tt",
	Xmp: "xmp",

	Doctype: "DOCTYPE",
	Xml: "xml",

	// SVG elements
	// https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element
	Animate: "animate",
	AnimateMotion: "animateMotion",
	AnimateTransform: "animateTransform",
	Circle: "circle",
	ClipPath: "clipPath",
	Defs: "defs",
	Desc: "desc",
	Ellipse: "ellipse",
	FeBlend: "feBlend",
	FeColorMatrix: "feColorMatrix",
	FeComponentTransfer: "feComponentTransfer",
	FeComposite: "feComposite",
	FeConvolveMatrix: "feConvolveMatrix",
	FeDiffuseLighting: "feDiffuseLighting",
	FeDisplacementMap: "feDisplacementMap",
	FeDistantLight: "feDistantLight",
	FeDropShadow: "feDropShadow",
	FeFlood: "feFlood",
	FeFuncA: "feFuncA",
	FeFuncB: "feFuncB",
	FeFuncG: "feFuncG",
	FeFuncR: "feFuncR",
	FeGaussianBlur: "feGaussianBlur",
	FeImage: "feImage",
	FeMerge: "feMerge",
	FeMergeNode: "feMergeNode",
	FeMorphology: "feMorphology",
	FeOffset: "feOffset",
	FePointLight: "fePointLight",
	FeSpecularLighting: "feSpecularLighting",
	FeSpotLight: "feSpotLight",
	FeTile: "feTile",
	FeTurbulence: "feTurbulence",
	Filter: "filter",
	ForeignObject: "foreignObject",
	G: "g",
	Line: "line",
	LinearGradient: "linearGradient",
	Marker: "marker",
	Mask: "mask",
	Metadata: "metadata",
	Mpath: "mpath",
	Path: "path",
	Pattern: "pattern",
	Polygon: "polygon",
	Polyline: "polyline",
	RadialGradient: "radialGradient",
	Rect: "rect",
	Set: "set",
	Stop: "stop",
	Svg: "svg",
	Switch: "switch",
	Symbol: "symbol",
	Text: "text",
	TextPath: "textPath",
	Tspan: "tspan",
	Use: "use",
	View: "view",

	// MathML elements
	// https://developer.mozilla.org/en-US/docs/Web/MathML/Reference/Element
	Math: "math",
	Maction: "maction",
	Annotation: "annotation",
	AnnotationXml: "annotationXml",
	Menclose: "menclose",
	Merror: "merror",
	Mfenced: "mfenced",
	Mfrac: "mfrac",
	Mi: "mi",
	Mmultiscripts: "mmultiscripts",
	Mn: "mn",
	Mo: "mo",
	Mover: "mover",
	Mpadded: "mpadded",
	Mphantom: "mphantom",
	Mprescripts: "mprescripts",
	Mroot: "mroot",
	Mrow: "mrow",
	Ms: "ms",
	Semantics: "semantics",
	Mspace: "mspace",
	Msqrt: "msqrt",
	Mstyle: "mstyle",
	Msub: "msub",
	Msup: "msup",
	Msubsup: "msubsup",
	Mtable: "mtable",
	Mtd: "mtd",
	Mtext: "mtext",
	Mtr: "mtr",
	Munder: "munder",
	Munderover: "munderover",
}}