A simple C# generator for HTML/XML
https://www.nuget.org/packages/Tag
Sometimes you have a project where a lot of code is needed to output a little markup. For those projects, markup templating engines make things more difficult, and a lot of the time you end up doing string concatenation. T·g is a step up from string concatenation.
See the TagTests.cs
file for examples of every feature. Here are some overviews to get you started.
var tag = T.g("div", "class","glass")[
T.g("a", "href", "#")["Fish"],
T.g("br/")
];
Console.WriteLine(tag.ToString());
Outputs <div class="glass"><a href="#">Fish</a><br/></div>
var tag = T.g( . . . );
tag.StreamTo(myWritableStream, Encoding.UTF8);
if StreamTo
is called multiple times, it will write another copy of the tag tree.
var doc = HtmlDoc("Hello World", out var head, out var body);
body.Add(T.g("h1")["Hello, world"]);
body.Add(T.g("p")["This is a simple HTML page example"]);
return doc.ToString();
.
.
.
TagContent HtmlDoc(string title, out TagContent head, out TagContent body)
{
var html = T.g("html");
head = T.g("head")[
T.g("title")[title],
T.g("style").LoadFile("Styles/PageStyle.css")
]
];
body = T.g("body")[T.g("script").LoadFile("Scripts/PageScript.js")];
html.Add(head);
html.Add(body);
return html;
}