NetTemplate 3.0.0
dotnet add package NetTemplate --version 3.0.0
NuGet\Install-Package NetTemplate -Version 3.0.0
<PackageReference Include="NetTemplate" Version="3.0.0" />
paket add NetTemplate --version 3.0.0
#r "nuget: NetTemplate, 3.0.0"
// Install NetTemplate as a Cake Addin #addin nuget:?package=NetTemplate&version=3.0.0 // Install NetTemplate as a Cake Tool #tool nuget:?package=NetTemplate&version=3.0.0
NetTemplate
This is a fork of StringTemplate 4 for .NET to modernize it. The goal of this project is to be a superset of StringTemplate 4. That is, any template of StringTemplate 4 can be using with this library unmodified with additional features available.
Usage
The 1.X version can be drop-in replacement for StringTemplate4
. Just rename namespace from Antlr4.StringTemplate
to NetTemplate
. Every next major version will have some small breaking changes on the code so you can slowly upgraded. The template itself will never have a breaking change (unless StringTemplate 4 introduced it), only the code that using this library.
Additional features
Expression options
The following is a list of the new expression options in additional to StringTemplate 4 expression options:
culture
: specify the name of the culture to override the one that was specified inTemplate.Render()
(e.g.<foo; culture="th-TH">
). It can be any value that is acceptable byCultureInfo.GetCultureInfo()
, even an empty string.
Breaking changes
2.0 to 3.0
- All constructors of
NetTemplate.Interpreter
become internal. - Any exception from the template will propagation to the call site instead of raising an INTERNAL_ERROR.
1.0 to 2.0
culture
parameter onIAttributeRenderer.ToString()
will be able to override by the user.IFormattable
object will be honored during rendering.NetTemplate.Interpreter
become a sealed class.AssemblyInfo
has been removed.
Development
Prerequisites
- .NET 6 SDK
Build
dotnet build src/NetTemplate.sln
Run tests
dotnet test src/NetTemplate.sln
License
BSD 3-Clause
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- Antlr3.Runtime (>= 3.5.2-rc1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.