public void LoadTemplates(params Assembly[] assemblies) { var pattern = new Regex(@"^.*\.Templates\.(.+)\.hbs$", RegexOptions.IgnoreCase); foreach (var assembly in assemblies) { foreach (var resourceName in assembly.GetManifestResourceNames()) { var match = pattern.Match(resourceName); if (!match.Success) { continue; } var contents = default(string); using (var stream = assembly.GetManifestResourceStream(resourceName)) using (var reader = new StreamReader(stream, Encoding.UTF8)) { contents = reader.ReadToEnd(); } var templateName = match.Groups[1].Value.Replace('.', '/'); var template = new Template(templateName, this.Instance, TemplateSource.CreateForText(contents)); this.RegisterTemplate(template, true); } } }
public void LoadTemplates(Assembly assembly, string templatePath, string templateNamePrefix) { var pattern = new Regex($@"^{Regex.Escape(templatePath)}\.(.+)\.hbs$", RegexOptions.IgnoreCase); foreach (var resourceName in assembly.GetManifestResourceNames()) { var match = pattern.Match(resourceName); if (!match.Success) { continue; } var contents = default(string); using (var stream = assembly.GetManifestResourceStream(resourceName)) using (var reader = new StreamReader(stream, Encoding.UTF8)) { contents = reader.ReadToEnd(); } var templateName = templateNamePrefix + "/" + match.Groups[1].Value.Replace('.', '/'); var template = new Template(templateName, Instance, TemplateSource.CreateForText(contents)); RegisterTemplate(template, true); } }
public void LoadTemplates(params string[] folders) { foreach (var folder in folders) { foreach (var file in Directory.EnumerateFiles(folder, "*.hbs", SearchOption.AllDirectories)) { var templateDir = PathUtils.GetRelativePath(folder, Path.GetDirectoryName(file)).Replace("\\", "/"); var templateName = Path.GetFileNameWithoutExtension(file); if (!string.IsNullOrWhiteSpace(templateDir)) { templateName = templateDir + "/" + templateName; } var template = new Template(templateName, this.Instance, TemplateSource.CreateForFile(file)); this.RegisterTemplate(template, true); } } }
public void AddTemplate(string name, string templateText, bool overrideExisting = false) { var template = new Template(name, this.Instance, TemplateSource.CreateForText(templateText)); this.RegisterTemplate(template, overrideExisting); }
public Template(string name, IHandlebars handlebars, TemplateSource source) { this.Name = name; this._handlebars = handlebars; this.Source = source; }
public Template(string name, IHandlebars handlebars, TemplateSource source) { Name = name; _handlebars = handlebars; Source = source; }