Skip to content

dotJEM/template-source-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Template Source Generater

This is a small C# Source Generater for converting various template files into C# code.

Examples

Person.xml

<person>
  <name value="@{name}">
  <age value="@{age}">
</person>

Would generate a method with the following signature:

internal static class XmlTemplates {
    public static string Person(string name, string age) => ...;
}

Usage:

string result = XmlTemplates.Person("Peter", 42);

-->
<person>
  <name value="Peter">
  <age value="42">
</person>

Options

The following global options can be used to control the generation process:

Option Default Description
DotJEMTemplateVisibility internal The visibility to use for the templates class, e.g. internal or public
DotJEMTemplateNamespace The namespace to to put the templates class under, defaults to the configured RootNamespace
DotJEMTemplateMethodName @{name}_@{key}|@{name} A Template string to use when giving themplates method name, defauls to the Template name or TemplateName_Key for multi template files, parameters are: name or templateName and key or templateKey
DotJEMTemplateParameterPattern @{(.+?)} A Regex pattern for finding parameters in templates
DotJEMIncludeAllAdditionalFiles true By default all files registered with AdditionalFiles are process unless they are explicitly excluded, if this is not desired this can be set to false

Further each AdditionalFiles node may have these options set:

Option Default Description
TemplateClass + Templates The class name to put the templates into, defaults to the file extention in pascal case appended with Templates
Visibility Overrides Global Option: DotJEMTemplateVisibility
Namespace Overrides Global Option: DotJEMTemplateNamespace
MethodNameTemplate Overrides Global Option: DotJEMTemplateParameterPattern
ParameterPattern Overrides Global Option: DotJEMTemplateParameterPattern
IsTemplates Overrides Global Option: DotJEMIncludeAllAdditionalFiles

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published