public static List <TagModel> GetBlogTags() { ILocator postLocator = new PostLocator(); var posts = postLocator.GetPosts(PathProvider.GetPostsPath()); var allTags = posts.SelectMany(p => p.Tags).ToList().Distinct(); return(allTags.Select(t => new TagModel { TagText = t, TagSlug = string.Format("{0}/tag/{1}", Constants.BlogBasePath, UrlGenerator.UrlFriendly(t)) }).ToList()); }
public static List <MonthYearModel> GetBlogArchives() { ILocator postLocator = new PostLocator(); var posts = postLocator.GetPosts(PathProvider.GetPostsPath()); var group = posts.GroupBy(p => new { p.DateCreated.Year, p.DateCreated.Month }) .OrderByDescending(g => g.Key.Year) .ThenByDescending(g => g.Key.Month); return(@group.Select(g => new MonthYearModel { MonthYear = string.Format("{0} {1}", GetMonthName(g.Key.Month), g.Key.Year), Slug = string.Format("{0}/{1}/{2}", Constants.BlogBasePath, g.Key.Year, g.Key.Month.ToString("00")) }) .ToList()); }