Text templating is used to dynamically render contents based on a template and a model.
- It is based on the Scriban library, a language that supports conditional logics, loops and much more.
- Template content can be localized.
- You can define layout templates to be used as the layout while rendering other templates.
- You can pass arbitrary objects to the template context (beside the model) for advanced scenarios.
The library is a modified version of the lightweight TextTemplating.Scriban part of Volo.Abp.TextTemplating 7.0, (i.e., exluding the more heavy TextTemplating.Razor) Modifications to the source code were made by axuno in 2020-23. Changes focused on:
- decouple Volo.Abp.TextTemplating from all dependencies of the Abp Framework
- replace the dependency Volo.Abp.VirtualFileSystem with a modified forked version of it (Axuno.VirtualFileSystem)
- use Microsoft DependencyInjection instead of AutoFac
- use .Net resource files for inline localization instead JSON files
- change of namespaces
- Install the NuGet package
- Run the demo program included in the repo
- Read the Scriban language docs
- Read the Text Templating wiki