private Task BuildViewModel(MarkdownPartViewModel model, MarkdownPart markdownPart) { var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(markdownPart.ContentItem.ContentType); var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(p => p.PartDefinition.Name == nameof(MarkdownPart)); var settings = contentTypePartDefinition.GetSettings <MarkdownPartSettings>(); model.Markdown = markdownPart.Markdown; model.MarkdownPart = markdownPart; model.TypePartSettings = settings; return(Task.CompletedTask); }
private async Task BuildViewModel(MarkdownPartViewModel model, MarkdownPart markdownPart) { var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(markdownPart.ContentItem.ContentType); var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(p => p.PartDefinition.Name == nameof(MarkdownPart)); var settings = contentTypePartDefinition.GetSettings <MarkdownPartSettings>(); var templateContext = new TemplateContext(); templateContext.SetValue("ContentItem", markdownPart.ContentItem); templateContext.MemberAccessStrategy.Register <MarkdownPartViewModel>(); using (var writer = new StringWriter()) { await _liquidTemplatemanager.RenderAsync(markdownPart.Markdown, writer, NullEncoder.Default, templateContext); model.Markdown = writer.ToString(); model.Html = Markdig.Markdown.ToHtml(model.Markdown ?? ""); } model.MarkdownPart = markdownPart; model.TypePartSettings = settings; }