Browse Source

Blogging module: fixes

pull/441/head
Yunus Emre Kalkan 8 years ago
parent
commit
1cc123db0b
  1. 2
      modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs
  2. 6
      modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/en.json
  3. 1
      modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/tr.json
  4. 2
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/BloggingPage.cs
  5. 23
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml
  6. 133
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml

2
modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs

@ -20,7 +20,7 @@ namespace Volo.Blogging.Posts
public List<Post> GetPostsByBlogId(Guid id) public List<Post> GetPostsByBlogId(Guid id)
{ {
return DbSet.Where(p => p.BlogId == id).ToList(); return DbSet.Where(p => p.BlogId == id).OrderByDescending(p=>p.CreationTime).ToList();
} }
public async Task<Post> GetPostByUrl(Guid blogId, string url) public async Task<Post> GetPostByUrl(Guid blogId, string url)

6
modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/en.json

@ -18,17 +18,19 @@
"Content": "Content", "Content": "Content",
"SeeAll": "See All", "SeeAll": "See All",
"PopularTags": "Popular Tags", "PopularTags": "Popular Tags",
"Read": "{0} Read", "ReadWithCount": "{0} Read",
"LastPosts": "Last Posts", "LastPosts": "Last Posts",
"LeaveComment": "Leave Comment", "LeaveComment": "Leave Comment",
"TagsInThisArticle": "Tags in this article", "TagsInThisArticle": "Tags in this article",
"Posts": "Posts", "Posts": "Posts",
"Edit": "Edit", "Edit": "Edit",
"BLOG": "BLOG",
"CommentDeletionWarningMessage": "Comment will be deleted.", "CommentDeletionWarningMessage": "Comment will be deleted.",
"PostDeletionWarningMessage": "Post will be deleted.", "PostDeletionWarningMessage": "Post will be deleted.",
"BlogDeletionWarningMessage": "Blog will be deleted.", "BlogDeletionWarningMessage": "Blog will be deleted.",
"AreYouSure": "Are you sure?", "AreYouSure": "Are you sure?",
"Comment": "{0} Comment", "CommentWithCount": "{0} Comment",
"Comment": "Comment",
"ShareOnTwitter": "Share On Twitter", "ShareOnTwitter": "Share On Twitter",
"CoverImage": "Cover Image", "CoverImage": "Cover Image",
"CreateANewPost": "Create A New Post", "CreateANewPost": "Create A New Post",

1
modules/blogging/src/Volo.Blogging.Web/Localization/Resources/Blogging/Web/tr.json

@ -25,6 +25,7 @@
"TagsInThisArticle": "Makalenin Etiketleri", "TagsInThisArticle": "Makalenin Etiketleri",
"Posts": "Yazılar", "Posts": "Yazılar",
"Edit": "Düzenle", "Edit": "Düzenle",
"BLOG": "BLOG",
"CommentDeletionWarningMessage": "Yorum silinecek.", "CommentDeletionWarningMessage": "Yorum silinecek.",
"PostDeletionWarningMessage": "Yazı silinecek.", "PostDeletionWarningMessage": "Yazı silinecek.",
"BlogDeletionWarningMessage": "Blog silinecek.", "BlogDeletionWarningMessage": "Blog silinecek.",

2
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/BloggingPage.cs

@ -102,7 +102,7 @@ namespace Volo.Blogging.Pages.Blog
} }
if (diffInSeconds >= 60) if (diffInSeconds >= 60)
{ {
return L["MinutesAgo", diffInSeconds]; return L["MinutesAgo", diffInSeconds / 60];
} }
if (diffInSeconds >= 1) if (diffInSeconds >= 1)
{ {

23
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml

@ -27,29 +27,12 @@
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1 class="my-0 display-inline-block"> <h1 class="my-0 display-inline-block">
@Model.Blog.ShortName @Model.Blog.Name
<small class="text-muted"> <small class="text-muted">
@L["Blog"] @L["BLOG"]
</small> </small>
</h1> </h1>
</div> </div>
<div class="article-owner">
<div class="article-infos">
<div class="user-card">
<a>
<strong> @(Model.Post.Writer == null ? "" : Model.Post.Writer.UserName)</strong>, @ConvertDatetimeToTimeAgo(Model.Post.CreationTime)
</a>
<span class="seperator">|</span>
<a>
<i class="fa fa-eye"></i> @L["ReadWithCount", @Model.Post.ReadCount]
</a>
<span class="seperator">|</span>
<a>
<i class="fa fa-comment"></i> @L["CommentWithCount", @Model.CommentCount]
</a>
</div>
</div>
</div>
<div class="col-sm-4 text-right"> <div class="col-sm-4 text-right">
<br /> <br />
<a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName"> <a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName">
@ -172,7 +155,7 @@
} }
</div> </div>
<a class="btn-rounded float-right btn btn-primary" <a class="btn btn-blue float-right"
href="@Model.GetTwitterShareUrl(Model.Post.Title, HttpContext.Request.GetEncodedUrl(), "@" + (Model.Blog.Twitter??""))" target="_blank"> href="@Model.GetTwitterShareUrl(Model.Post.Title, HttpContext.Request.GetEncodedUrl(), "@" + (Model.Blog.Twitter??""))" target="_blank">
<i class="fa fa-twitter"></i> <i class="fa fa-twitter"></i>
@L["ShareOnTwitter"] @L["ShareOnTwitter"]

133
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml

@ -124,7 +124,7 @@
</a> </a>
<span class="vs-seperator">|</span> <span class="vs-seperator">|</span>
<a> <a>
<i class="fa fa-comment"></i> @L["CommentWithCount", @post.CommentCount] <i class="fa fa-comment"></i> @L["CommentWithCount", post.CommentCount]
</a> </a>
</div> </div>
</div> </div>
@ -176,81 +176,86 @@
<div class="pb-5"> <div class="pb-5">
<div class="row"> <div class="row">
<div class="col-md-8 box-articles"> @if (Model.Posts.Count > 3)
<div class="vs-blog-title"> {
<h2>@L["LastPosts"]</h2> <div class="col-md-8 box-articles">
</div> <div class="vs-blog-title">
<div class="list-group"> <h2>@L["LastPosts"]</h2>
@for (var index = 3; index < Model.Posts.Count; index++) </div>
{ <div class="list-group">
var post = Model.Posts[index]; @for (var index = 3; index < Model.Posts.Count; index++)
var oddPost = index % 2 == 1; {
var post = Model.Posts[index];
var oddPost = index % 2 == 1;
<div class="list-group-item"> <div class="list-group-item">
<div class="row @(oddPost?"align-middle":"")"> <div class="row @(oddPost ? "align-middle" : "")">
<div class="col-md-4 order-md-@(oddPost?"last":"first")"> <div class="col-md-4 order-md-@(oddPost ? "last" : "first")">
<div class="img-container"> <div class="img-container">
<a asp-page="./Detail" asp-route-postUrl="@post.Url" asp-route-blogShortName="@Model.BlogShortName"> <a asp-page="./Detail" asp-route-postUrl="@post.Url" asp-route-blogShortName="@Model.BlogShortName">
<img src="@post.CoverImage" class="box-article-img"> <img src="@post.CoverImage" class="box-article-img">
</a> </a>
</div>
</div> </div>
</div> <div class="col order-md-@(oddPost ? "first" : "last")">
<div class="col order-md-@(oddPost?"first":"last")"> <p class="tags">
<p class="tags"> @foreach (var tag in post.Tags)
@foreach (var tag in post.Tags) {
{ <a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName" asp-route-tagName="@tag.Name" class="tag">@tag.Name</a>
<a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName" asp-route-tagName="@tag.Name" class="tag">@tag.Name</a> }
} </p>
</p> <h3>
<h3> <a asp-page="./Detail" asp-route-postUrl="@post.Url" asp-route-blogShortName="@Model.BlogShortName">@post.Title</a>
<a asp-page="./Detail" asp-route-postUrl="@post.Url" asp-route-blogShortName="@Model.BlogShortName">@post.Title</a> </h3>
</h3> <p>
<p> @(GetShortContent(post.Content))
@(GetShortContent(post.Content)) </p>
</p> <div class="article-owner">
<div class="article-owner"> <div class="article-infos">
<div class="article-infos"> <div class="user-card">
<div class="user-card"> <a>
<a> <img gravatar-email="@post.Writer.Email" default-image="Identicon" class="article-avatar" />
<img gravatar-email="@post.Writer.Email" default-image="Identicon" class="article-avatar" /> </a>
</a> <a>
<a> <strong>@post.Writer.UserName</strong>, @ConvertDatetimeToTimeAgo(post.CreationTime)
<strong>@post.Writer.UserName</strong>, @ConvertDatetimeToTimeAgo(post.CreationTime) </a>
</a> <span class="vs-seperator">|</span>
<span class="vs-seperator">|</span> <a>
<a> <i class="fa fa-eye"></i> @post.ReadCount
<i class="fa fa-eye"></i> @post.ReadCount </a>
</a> <span class="vs-seperator">|</span>
<span class="vs-seperator">|</span> <a>
<a> <i class="fa fa-comment"></i> @post.CommentCount
<i class="fa fa-comment"></i> @post.CommentCount </a>
</a> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> }
} </div>
</div>
</div>
<div class="col-md-4">
<div class="vs-blog-title">
<h2>@L["PopularTags"]</h2>
</div> </div>
<div class="list-group small-list popular-tags"> }
@foreach (var popularTag in Model.PopularTags)
{
<div class="list-group-item">
<a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName" asp-route-tagName="@popularTag.Name">@popularTag.Name <span>(@popularTag.UsageCount @L["Posts"])</span></a>
</div>
}
@if (Model.PopularTags.Count > 0)
{
<div class="col-md-4">
<div class="vs-blog-title">
<h2>@L["PopularTags"]</h2>
</div>
<div class="list-group small-list popular-tags">
@foreach (var popularTag in Model.PopularTags)
{
<div class="list-group-item">
<a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName" asp-route-tagName="@popularTag.Name">@popularTag.Name <span>(@popularTag.UsageCount @L["Posts"])</span></a>
</div>
}
</div>
</div> </div>
</div> }
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save