public static void Generate(GeneratorContext context) { LoadData(context.Site); //Read templates var siteIndexTemplate = new SiteIndexTemplate(context); var indexTemplate = new IndexTemplate(context); //Clean web target FileManager.Clean(context.Site.WebPath); //Copy static: Done in calling bash script FileManager.Clone(context.Site.StaticPath, context.Site.WebPath); //Generate news siteIndexTemplate["site:news"] = GenerateNews(context.Site); indexTemplate["site:news"] = GenerateNews(context.Site); var pageTemplate = new PageTemplate(context); var postTemplate = new PostTemplate(context); //Generate all files GenerateIndex(siteIndexTemplate, context); GenerateFeed(context); foreach (Page p in context.Site.Pages) { GeneratePage(context.Site, p, pageTemplate, indexTemplate); } foreach (Post p in context.Site.Posts) { GeneratePost(context.Site, p, postTemplate, indexTemplate); } GenerateNewPostPageTemplate(context.Site); Compressor.CompressDirectoryRecursive(context.Site.WebPath); }
private void CreateIndexFile() { ExecuteOnStepMessage(StepInput.ChmStrings.CreateIndex); var indexHtmlFile = Path.Combine(StepInput.TmpPath, StepInput.SDProject.ProjectName.Replace(" ", "") + "-Index.html"); var template = new IndexTemplate(); File.WriteAllText(indexHtmlFile, template.TransformText()); }
private async Task HandleIndex(HttpListenerContext context) { var index = IndexTemplate.Render(_todos.Get()); context.Response.ContentType = "text/html"; context.Response.StatusCode = 200; await context.Response.OutputStream.WriteAsync(index, 0, index.Length); }
private async Task HandleIndex(HttpContext context) { var todos = context.RequestServices.GetService <TodoList>(); var index = IndexTemplate.Render(todos.Get()); context.Response.ContentType = "text/html"; context.Response.StatusCode = 200; await context.Response.Body.WriteAsync(index, 0, index.Length); }
public void IndexView_Template_Test() { var template = new IndexTemplate(new EntityInfo() { Id = _entityId }, ApplicationId); var output = template.TransformText(); Assert.NotNull(output); Assert.NotEmpty(output); Assert.Contains($"@model IEnumerable<{ApplicationId}.Backend.DataModels.{_entityId}>", output); }
static void GeneratePost(Site site, Post p, PostTemplate postTemplate, IndexTemplate indexTemplate) { string dirPath = Path.Combine(site.WebPath, p.Path); string htmlPath = Path.Combine(dirPath, "index.html"); Directory.CreateDirectory(dirPath); if (Directory.Exists(p.SourceDir)) { FileManager.Clone(p.SourceDir, dirPath); } var inst = indexTemplate.Create(site); inst["title"] = p.Title; inst["tabs"] = GenerateTabs(site, null, p); inst["contents"] = postTemplate.Generate(site, p); inst.Write(htmlPath); }
static void GenerateIndex(IndexTemplate template, Site site) { var indexInstance = template.Create(site); if (site.GetPage("index") != null) { return; } var compactPostTemplate = new CompactPostTemplate(site); indexInstance["title"] = site.Title; indexInstance["tabs"] = GenerateTabs(site, null, null); indexInstance["contents"] = new Html(); foreach (Post p in site.Posts) { indexInstance["contents"] += compactPostTemplate.Generate(site, p); } indexInstance.Write(Path.Combine(site.WebPath, "index.html")); }
private void TransformViews(SmartAppInfo manifest) { var enabledEntities = manifest.DataModel.Entities.Where(e => !e.IsAbstract); foreach (var entity in enabledEntities) { var applicationId = manifest.Id; var createTemplate = new CreateTemplate(entity, applicationId); var editTemplate = new EditTemplate(entity, applicationId); var detailTemplate = new DetailsTemplate(entity, applicationId); var deleteTemplate = new DeleteTemplate(entity, applicationId); var indexTemplate = new IndexTemplate(entity, applicationId); _writingService.WriteFile(Path.Combine(_context.BasePath, createTemplate.OutputPath, entity.Id, "Create.cshtml"), createTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, editTemplate.OutputPath, entity.Id, "Edit.cshtml"), editTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, deleteTemplate.OutputPath, entity.Id, "Delete.cshtml"), deleteTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, detailTemplate.OutputPath, entity.Id, "Details.cshtml"), detailTemplate.TransformText()); _writingService.WriteFile(Path.Combine(_context.BasePath, indexTemplate.OutputPath, entity.Id, "Index.cshtml"), indexTemplate.TransformText()); } }
static void GeneratePost(Site site, Post p, PostTemplate postTemplate, IndexTemplate indexTemplate) { string dirPath = Path.Combine(site.WebPath, p.Path); string htmlPath = Path.Combine(dirPath, "index.html"); Directory.CreateDirectory(dirPath); if (Directory.Exists(p.SourceDir)) { FileManager.Clone(p.SourceDir, dirPath); } var inst = indexTemplate.Create(site); inst["title"] = p.Title; inst["author"] = p.Author; inst["date"] = p.Date.ToString("yyyy-MM-dd hh:mm:ss"); inst["tabs"] = GenerateTabs(site, null, p); inst["contents"] = postTemplate.Generate(site, p); inst["metatags"] = Html.Raw(p.MetaTags.ToHtml(inst)); inst.Write(htmlPath); }
static void GeneratePage(Site site, Page p, PageTemplate pageTemplate, IndexTemplate indexTemplate) { string dirPath = Path.Combine(site.WebPath, p.Path); if (p.Path == "index/") { dirPath = site.WebPath; } Directory.CreateDirectory(dirPath); if (Directory.Exists(p.SourceDir)) { FileManager.Clone(p.SourceDir, dirPath); } var indexInstance = indexTemplate.Create(site); indexInstance["title"] = p.Title; indexInstance["tabs"] = GenerateTabs(site, p, null); indexInstance["contents"] = pageTemplate.Generate(site, p); indexInstance.Write(Path.Combine(dirPath, "index.html")); }
public ActionResult Index() { var html = IndexTemplate.Render(order); return(Content(html)); }
public void IndexView_Template_NullParameter_Test() { var template = new IndexTemplate(null, null); Assert.Throws <ArgumentNullException>(() => template.TransformText()); }
public virtual void Visit(IndexTemplate indexTemplate) { }
public virtual void Leave(IndexTemplate indexTemplate) { }
public override void Visit(IndexTemplate indexTemplate) => Visit(indexTemplate);