DefineTag

Define tag classes from a tag name (e.g. "div") and some properties. This allows us to generate all our required classes with just a list of names.

template DefineTag (
alias name
bool isVoidTag = false
) {
enum tagSymbol;
enum tagName;
enum tagSymbol;
enum tagName;
enum tagName;
enum capitalizedTagName;
}

Members

Mixin templates

TagHelper
mixin template TagHelper(string symbol, string name)

Generate a helper function to create the tag using just the tag name instead of the full class name.

TagImpl
mixin template TagImpl()

We separate the implementation so the 'replace' function doesn't have to parse irrelevant text which slows down compilation.

Meta