Tag 1.0.0

A simple HTML/XML generator for C#

There is a newer version of this package available.
See the version list below for details.
Install-Package Tag -Version 1.0.0
dotnet add package Tag --version 1.0.0
<PackageReference Include="Tag" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Tag --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

T·g

A simple C# generator for HTML/XML

https://www.nuget.org/packages/Tag

Why?

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.

Usage

See the TagTests.cs file for examples of every feature. Here are some overviews to get you started.

Basic usage

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>

Writing to a stream

var tag = T.g( . . . );
tag.StreamTo(myWritableStream, Encoding.UTF8);

if StreamTo is called multiple times, it will write another copy of the tag tree.

Templating and injection pattern

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;
}

T·g

A simple C# generator for HTML/XML

https://www.nuget.org/packages/Tag

Why?

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.

Usage

See the TagTests.cs file for examples of every feature. Here are some overviews to get you started.

Basic usage

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>

Writing to a stream

var tag = T.g( . . . );
tag.StreamTo(myWritableStream, Encoding.UTF8);

if StreamTo is called multiple times, it will write another copy of the tag tree.

Templating and injection pattern

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;
}

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.3.1 629 3/20/2019
1.3.0 526 7/9/2018
1.2.0 242 5/24/2018
1.1.0 403 4/17/2018
1.0.4 292 4/16/2018
1.0.3 265 4/16/2018
1.0.2 407 4/13/2018
1.0.1 283 12/8/2017
1.0.0 408 11/14/2017
Show less