Add blog post preview
This commit is contained in:
parent
a47f18533b
commit
fa143f5ab4
4 changed files with 20 additions and 5 deletions
|
@ -22,7 +22,7 @@ namespace Website.Controllers
|
|||
public async Task<IActionResult> Page(int page)
|
||||
{
|
||||
var offset = (page - 1) * MaxPostsPerPage;
|
||||
var posts = (await _repo.GetLatestPostsAsync(MaxPostsPerPage, offset)).Select(p => new BlogPostViewModel(p));
|
||||
var posts = (await _repo.GetLatestPostsAsync(MaxPostsPerPage, offset)).Select(p => new BlogPostPreviewViewModel(p));
|
||||
var maxPages = (await _repo.GetCountAsync()) / MaxPostsPerPage;
|
||||
var model = new BlogViewModel(posts, page, maxPages);
|
||||
return View(model);
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace Website.Controllers
|
|||
public async Task<IActionResult> Index()
|
||||
{
|
||||
var post = await _blogRepo.GetLatestPostAsync();
|
||||
var model = new BlogPostViewModel(post);
|
||||
var model = new BlogPostPreviewViewModel(post);
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
|
|
15
Website/ViewModels/BlogPostPreviewViewModel.cs
Normal file
15
Website/ViewModels/BlogPostPreviewViewModel.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using Markdig;
|
||||
using Markdig.SyntaxHighlighting;
|
||||
using Website.Models;
|
||||
|
||||
namespace Website.ViewModels
|
||||
{
|
||||
public class BlogPostPreviewViewModel:BlogPostViewModel
|
||||
{
|
||||
public BlogPostPreviewViewModel(BlogPost blogPost):base(blogPost)
|
||||
{
|
||||
Content = Markdown.ToHtml(blogPost.Content.Substring(0, 1000), GetPipeline()).Trim();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ namespace Website.ViewModels
|
|||
Content = Markdown.ToHtml(blogPost.Content, GetPipeline()).Trim();
|
||||
}
|
||||
|
||||
private MarkdownPipeline GetPipeline()=>new MarkdownPipelineBuilder()
|
||||
protected MarkdownPipeline GetPipeline()=>new MarkdownPipelineBuilder()
|
||||
//.UseAdvancedExtensions()
|
||||
.UseAutoLinks()
|
||||
.UseSoftlineBreakAsHardlineBreak()
|
||||
|
@ -24,7 +24,7 @@ namespace Website.ViewModels
|
|||
.Build();
|
||||
|
||||
public string Title { get; private set; }
|
||||
public string Content { get; private set; }
|
||||
public string Content { get; protected set; }
|
||||
public DateTime Timestamp { get; private set; }
|
||||
public string Url { get; private set; }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue