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);
        }
Example #2
0
        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;
        }