/// <summary> /// Returns a list of the most recent posts /// </summary> /// <param name="helper"></param> /// <param name="masterModel"></param> /// <param name="count"></param> /// <returns></returns> public static IEnumerable<PostModel> GetRecentPosts(this UmbracoHelper helper, IMasterModel masterModel, int count) { var listNode = masterModel.RootBlogNode.Children .FirstOrDefault(x => x.DocumentTypeAlias.InvariantEquals("ArticulateArchive")); if (listNode == null) { throw new InvalidOperationException("An ArticulateArchive document must exist under the root Articulate document"); } var rootPageModel = new ListModel(listNode, new PagerModel(count, 0, 1)); return rootPageModel.Children<PostModel>(); }
public ActionResult Index(RenderModel model, int? maxItems) { if (!maxItems.HasValue) maxItems = 25; var listNode = model.Content.Children .FirstOrDefault(x => x.DocumentTypeAlias.InvariantEquals("ArticulateArchive")); if (listNode == null) { throw new InvalidOperationException("An ArticulateArchive document must exist under the root Articulate document"); } var rootPageModel = new ListModel(listNode, new PagerModel(maxItems.Value, 0, 1)); var feed = FeedGenerator.GetFeed(rootPageModel, rootPageModel.Children<PostModel>()); return new RssResult(feed, rootPageModel); }