Class: Middleman::Paginate::Extension
- Inherits:
-
ConfigExtension
- Object
- ConfigExtension
- Middleman::Paginate::Extension
- Defined in:
- lib/middleman/paginate/extension.rb
Defined Under Namespace
Classes: CollectionProxyDescriptor, Pager
Instance Method Summary collapse
Instance Method Details
#paginate(collection, base_path, template, per_page: 20, suffix: "/page/:num/index", locals: {}, data: {}, locale: nil) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/middleman/paginate/extension.rb', line 51 def paginate(collection, base_path, template, per_page: 20, suffix: "/page/:num/index", locals: {}, data: {}, locale: nil) pages = collection.each_slice(per_page).to_a descriptors = [] pages.each_with_index do |page_collection, i| pager = Pager.new(base_path, suffix, i + 1, pages.size, per_page) opts = { locals: locals.merge(items: page_collection, pager: pager), data: data, locale: locale } descriptors << Middleman::Sitemap::Extensions::ProxyDescriptor.new( Middleman::Util.normalize_path(pager.full_page_path), Middleman::Util.normalize_path(template), opts.dup ) end CollectionProxyDescriptor.new(descriptors) end |