Example #1
0
        public virtual void SaveChangeLog(ApplicationChangeLog changeLog, string outputPath)
        {
            var viewModel = new ApplicationChangeLogViewModel(m_Configuration, changeLog);

            var templateLoader = new FileSystemTemplateLoader(FileSystem);

            var templateContext = new TemplateContext()
            {
                TemplateLoader = templateLoader
            };
            var rootScriptObject = new ScriptObject()
            {
                { "model", viewModel },
                { "enumerable", new EnumerableFunctions() },
                { "textelement", new TextElementFunctions() },
                { "html_utilities", new HtmlUtilities() },
                { "changelog", new ChangeLogFunctions() },
                { "template_settings", TemplateSettings }
            };

            templateContext.PushGlobal(rootScriptObject);

            try
            {
                var template = templateLoader.Load($"/main{TemplateFileExtension}");
                var rendered = template.Render(templateContext);
                File.WriteAllText(outputPath, rendered);
            }
            catch (ScriptRuntimeException ex)
            {
                throw new TemplateExecutionException(ex.Message, ex);
            }
        }
Example #2
0
 public static ChangeLogEntryViewModel?FindEntry(ApplicationChangeLogViewModel model, GitId commit)
 {
     return(model.ChangeLogs.SelectMany(x => x.AllEntries).SingleOrDefault(x => x.Commit == commit));
 }