website/Website/ViewModels/BlogPostViewModel.cs

31 lines
No EOL
759 B
C#

using System;
using Markdig;
using Markdig.SyntaxHighlighting;
using Website.Models;
namespace Website.ViewModels
{
public class BlogPostViewModel
{
public BlogPostViewModel(BlogPost blogPost)
{
Title = blogPost.Title;
Timestamp = blogPost.Timestamp;
Url = blogPost.Url;
Content = Markdown.ToHtml(blogPost.Content, GetPipeline()).Trim();
}
protected MarkdownPipeline GetPipeline()=>new MarkdownPipelineBuilder()
//.UseAdvancedExtensions()
.UseAutoLinks()
.UseSoftlineBreakAsHardlineBreak()
.UseSyntaxHighlighting()
.Build();
public string Title { get; private set; }
public string Content { get; protected set; }
public DateTime Timestamp { get; private set; }
public string Url { get; private set; }
}
}