func GetFileList(page, size int) ([]*File, *utils.Pager) { pager := utils.NewPager(page, size, len(files)) f := make([]*File, 0) if page > pager.Pages || len(files) < 1 { return f, pager } for i := pager.Begin; i <= pager.End; i++ { f = files[pager.Begin-1 : pager.End] } return f, pager }
// GetCommentList returns a comments list and pager. // This list scans all comments no matter its status. func GetCommentList(page, size int) ([]*Comment, *utils.Pager) { index := commentsIndex pager := utils.NewPager(page, size, len(index)) comments := make([]*Comment, 0) if page > pager.Pages { return comments, pager } for i := pager.Begin; i <= pager.End; i++ { comments = append(comments, GetCommentById(index[i-1])) } return comments, pager }
// get pages list. func GetPageList(page, size int) ([]*Content, *utils.Pager) { index := contentsIndex["page"] pager := utils.NewPager(page, size, len(index)) pages := make([]*Content, 0) if page > pager.Pages { return pages, pager } for i := pager.Begin; i <= pager.End; i++ { pages = append(pages, GetContentById(index[i-1])) } return pages, pager }
// GetTaggedArticleList returns tagged articles list. // These articles contains same one tag. func GetTaggedArticleList(tag string, page, size int) ([]*Content, *utils.Pager) { index := contentsIndex["t-"+tag] pager := utils.NewPager(page, size, len(index)) articles := make([]*Content, 0) if len(index) < 1 { return articles, pager } if page > pager.Pages { return articles, pager } for i := pager.Begin; i <= pager.End; i++ { articles = append(articles, GetContentById(index[i-1])) } return articles, pager }
// GetPopularArticleList returns popular articles list. // Popular articles are ordered by comment number. func GetPopularArticleList(size int) []*Content { index := contentsIndex["article-pop"] pager := utils.NewPager(1, size, len(index)) articles := make([]*Content, 0) if len(index) < 1 { return articles } if 1 > pager.Pages { return articles } for i := pager.Begin; i <= pager.End; i++ { articles = append(articles, GetContentById(index[i-1])) } return articles }