Awesome
Handlebars.Net.Helpers
Several helpers which can be used for Handlebars.Net
Project
Build Azure | |
Sonar Quality | |
Coverage |
Packages
Package | Nuget | MyGet :information_source: |
---|---|---|
Handlebars.Net.Helpers | ||
Handlebars.Net.Helpers.DynamicLinq | ||
Handlebars.Net.Helpers.Humanizer | ||
Handlebars.Net.Helpers.Json | ||
Handlebars.Net.Helpers.Random | ||
Handlebars.Net.Helpers.Xeger | ||
Handlebars.Net.Helpers.XPath | ||
Handlebars.Net.Helpers.Xslt |
Framework support
- .NET Framework 4.5.1 4.5.2 and 4.6
- .NET Standard 1.3, 2.0 and 2.1
- .NET 6.0 and .NET 8.0
Usage
Register
Get all helpers
var handlebarsContext = HandlebarsDotNet.Handlebars.Create();
HandlebarsHelpers.Register(handlebarsContext);
Get a specific helper
var handlebarsContext = HandlebarsDotNet.Handlebars.Create();
HandlebarsHelpers.Register(handlebarsContext, Category.String);
Get multiple helpers
var handlebarsContext = HandlebarsDotNet.Handlebars.Create();
HandlebarsHelpers.Register(handlebarsContext, Category.Math, Category.String);
Using
With a category prefix (default)
By default you can use the helpers by using a prefix from the category:
{{[String.Append] "foobar" "bar"}}
With an additional custom prefix
If you would like to use the helpers with a custom prefix, you need to register the helpers using this code:
HandlebarsHelpers.Register(handlebarsContext, options => { Prefix = "custom"; });
Now you can only access the helpers by using the custom prefix, category prefix and the name like:
{{[custom.String.Append] "foobar" "bar"}}
With a custom prefix separator character
By default the dot (.
) character is used, use the code below to use a different value:
HandlebarsHelpers.Register(handlebarsContext, options => { PrefixSeparator = "-"; });
Now you can only access the helpers by using the -
separator like this:
{{[String-Append] "foobar" "bar"}}
Without a prefix
If you would like to use the helpers without a prefix, so just by name, use this code:
HandlebarsHelpers.Register(handlebarsContext, options => { UseCategoryPrefix = false; });
Now you can use it like:
{{String-Append "foobar" "bar"}}
Now you can access the helpers by just using the name like:
{{Append "foobar" "bar"}}
The following default built-in helpers are available:
And the following additonal helpers are available
References
- Thanks to https://github.com/rexm/Handlebars.Net
- Some ideas based on https://github.com/helpers/handlebars-helpers
- Some code based on https://www.30secondsofcode.org/c-sharp/t/string/p/1
- Some documentation based on https://github.com/arinet/HandlebarDocs
- SimpleJson copied from (https://github.com/facebook-csharp-sdk/simple-json)