Module:HtmlBuilder/doc

HtmlBuilder provides a way to construct complex HTML and CSS markup by creating a tree of nodes, similar to the Document Object Model. The result is a list of codes that are more comprehensible and maintainable than if you simply concatenated strings together. It offers a fluent interface that should look familiar to any user of jQuery.

Usage
First, you need to load the module:

Next, create the root HtmlBuilder instance:

Then, you can build HTML using the methods of the HtmlBuilder instance, listed below.

Finally, get the resulting HTML markup as a string:

Methods
To allow chaining, all methods return a reference to the builder, unless otherwise stated.

tag
Appends a new child node to the builder, and returns an HtmlBuilder instance representing that new node.

done
Returns the parent node under which the current node was created. Like jQuery.end, this is a convenience function to allow the construction of several child nodes to be chained together into a single statement.

allDone
Like, but traverses all the way to the root node of the tree and returns it.

wikitext
Appends some markup to the node. It may include plain text, wiki markup, and even HTML markup.

newline
Appends a newline character to the node. Equivalent to.

attr
Set an HTML attribute on the node.

css
Set a CSS property to be added to the node's  attribute.

cssText
Add some raw CSS to the node's  attribute. This is typically used when a template allows some CSS to be passed in as a parameter, such as the  parameter of Navbox.

addClass
Adds a class name to the node's  attribute. Spaces will be automatically added to delimit each added class name.

Examples
For more examples, please see the test cases page and the test cases results.