Library to write HTML documents using .NET
Example of basic html
<html> <body class="main_body"> <h1>Heading</h1> <p>This is a paragraph</p> </body> </html>HtmlCSBuilder syntact to write the html sample:
HtmlBuilder builder = new HtmlBuilder(); using (builder.AddTag(HtmlTag.Html)) { using (builder.AddTag(HtmlTag.Body, (HtmlAttribute.Class, "main_body"))) { using (builder.AddTag(HtmlTag.H1)) { builder.WriteLine("Heading"); } using (builder.AddTag(HtmlTag.P)) { builder.WriteLine("This is a paragraph"); } } }Write once use it everywhere, you can have an html splited in different HtmlBuilders and merge them in the different documents, for example you can setup a default header and footer and use the same bulider for all your pages:
<html> <!-- Head to use in all the pages --> <head> <title> This is the default title for all pages </title> </head> <!-- Dynamic body that changes between pages --> <body> Dynamic main content in this html page </body> <!-- Footer to use in all the pages --> <footer> <p> Author: this is the author of the pages </p> </footer> </html>C# example for how to create the static elements in the html:
HtmlBuilder page1 = new HtmlBuilder(); using (page1.AddTag(HtmlTag.Html)) { page1.AddChunk(header()); using (page1.AddTag(HtmlTag.Body)) { page1.WriteLine("Dynamic main content in this html page 001"); } page1.AddChunk(footer()); }Where header() and footer() implementation looks like:
private static HtmlBuilder header() { HtmlBuilder head = new HtmlBuilder(); using (head.AddTag(HtmlTag.Head)) { using (head.AddTag(HtmlTag.Title)) { head.WriteLine("This is the default title for all pages"); } } return head; } private static HtmlBuilder footer() { HtmlBuilder foot = new HtmlBuilder(); using (foot.AddTag(HtmlTag.Footer)) { using (foot.AddTag(HtmlTag.P)) { foot.WriteLine("Author: this is the author of the pages"); } } return foot; }