generator.js 649 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. var pagination = require('hexo-pagination');
  3. module.exports = function(locals){
  4. var config = this.config;
  5. var perPage = config.category_generator.per_page;
  6. var paginationDir = config.pagination_dir || 'page';
  7. return locals.categories.reduce(function(result, category){
  8. if (!category.length) return result;
  9. var posts = category.posts.sort('-date');
  10. var data = pagination(category.path, posts, {
  11. perPage: perPage,
  12. layout: ['category', 'archive', 'index'],
  13. format: paginationDir + '/%d/',
  14. data: {
  15. category: category.name
  16. }
  17. });
  18. return result.concat(data);
  19. }, []);
  20. };