public FluidTemplateEngine(IEnumerable <IFluidExtension> extensions) { this.extensions = extensions; SquidexTemplate.Setup(extensions); SquidexTemplate.SetupTypes(extensions); }
public async Task <string> RenderAsync(string template, TemplateVars variables) { Guard.NotNull(variables, nameof(variables)); if (SquidexTemplate.TryParse(template, out var parsed, out var errors)) { var context = new TemplateContext(); foreach (var extension in extensions) { extension.BeforeRun(context); } foreach (var(key, value) in variables) { context.MemberAccessStrategy.Register(value.GetType()); context.SetValue(key, value); } var result = await parsed.RenderAsync(context); return(result); } throw new TemplateParseException(template, errors); }
public FluidTemplateEngine(IEnumerable <IFluidExtension> extensions) { Guard.NotNull(extensions, nameof(extensions)); this.extensions = extensions; SquidexTemplate.Setup(extensions); SquidexTemplate.SetupTypes(extensions); }