AppComponents.TemplateEngine
1.0.0
dotnet add package AppComponents.TemplateEngine --version 1.0.0
NuGet\Install-Package AppComponents.TemplateEngine -Version 1.0.0
<PackageReference Include="AppComponents.TemplateEngine" Version="1.0.0" />
<PackageVersion Include="AppComponents.TemplateEngine" Version="1.0.0" />
<PackageReference Include="AppComponents.TemplateEngine" />
paket add AppComponents.TemplateEngine --version 1.0.0
#r "nuget: AppComponents.TemplateEngine, 1.0.0"
#:package AppComponents.TemplateEngine@1.0.0
#addin nuget:?package=AppComponents.TemplateEngine&version=1.0.0
#tool nuget:?package=AppComponents.TemplateEngine&version=1.0.0
NuGet Package Documentation
Introduction
This library provides template rendering functionality, supporting both dictionary-based and model-based templates. It includes two main components:
- DictionaryTemplateEngine (based on a dictionary of key-value pairs)
- ModelTemplateEngine (based on a model object)
ReadMe
Overview
This package allows you to render templates by replacing placeholders in the template string with corresponding values from a dictionary or model. You can use it for generating dynamic content based on predefined templates.
Installation
To install the package, use the following command:
Copy code
dotnet add package AppComponents.TemplateEngine
You can also install it via the NuGet Package Manager Console:
Copy code
Install-Package AppComponents.TemplateEngine
Usage
DictionaryTemplateEngine
- Add the package to your project.
- Use the
DictionaryTemplateEngineclass to render templates from a dictionary.
Example 1: Dictionary template with implicit delimiters
var template = "Hello {name}!";
var engine = new DictionaryTemplateEngine(logger);
var values = new Dictionary<string, string> { { "name", "World" } };
var result = engine.Render(template, values);
Console.WriteLine(result); // Output: Hello World!
Example 2: Dictionary template with explicit delimiters
var template = "Hello @name!";
var engine = new DictionaryTemplateEngine(logger, "@", "");
var values = new Dictionary<string, string> { { "name", "World" } };
var result = engine.Render(template, values);
Console.WriteLine(result); // Output: Hello World!
Example 3: Dictionary template from file
var templateFile = "/Templates/templateFile.txt";
var engine = new DictionaryTemplateEngine(logger);
var values = new Dictionary<string, string> { { "name", "World" } };
var result = await engine.RenderAsync(templateFile, values);
Console.WriteLine(result); // Output: Hello World!
ModelTemplateEngine
- Use the
ModelTemplateEngineclass to render templates from a model object.
Example usage:
var model = new { name = "World" };
var template = "Hello {name}!";
var engine = new ModelTemplateEngine(logger);
var result = engine.Render(template, model);
Console.WriteLine(result); // Output: Hello World!
Both classes support explicit delimiters through constructor.
Both classes support asynchronous rendering with RenderAsync methods that load templates from external files.
Installation
To install the package, use the following command:
dotnet add package AppComponents.TemplateEngine
License
This project is licensed under the MIT License - see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Logging (>= 9.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|