No Edge Software
  • Search results
No Edge Software

Handlebars

Sample Code

// <package id="Handlebars.Net" version="1.7.1" targetFramework="net40" />

// {{{ triple-stash to avoid encoding }}}

using System;
using HandlebarsDotNet;

class Program {
    static void Main(string[] args) {
        string source = 
@"
{{title}}
Hello {{person.name}}, I see that you are {{person.age}} years old.
You have the following cars:
{{#each cars}}
    {{year}} {{make}} {{model}} {{#if color}}(Color={{color}}){{/if}}
{{/each}}
";

        var template = Handlebars.Compile(source);

        var data = new {
            title = "My Data Object",
            person = new { name = "Billy", age = 34 },
            cars = new object[] {
                new { year = 2015, make = "Ford", model = "Mustang", color = "Red" },
                new { year = 2014, make = "Chevy", model = "Corvette" },
                new { year = 2013, make = "Dodge", model = "Aries", color = "Yellow" }
            }
        };
        var result = template(data);

        Console.WriteLine(result);
    }
}

/****** OUTPUT *******

My Data Object
Hello Billy, I see that you are 34 years old.
You have the following cars:
    2015 Ford Mustang (Color=Red)
    2014 Chevy Corvette
    2013 Dodge Aries (Color=Yellow)

******* OUTPUT ******/

Notes

Handlebars is a fantastic templating engine which is available for .NET. It’s similar to Mustache, which I tend to prefer, but Handlebars has more features that can be very useful.

This is a basic example showing how easy it is to apply a template.

Author

Joe Enos