middleman-paginate 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8d9716b324b38651350e48cea10659bf384b198
4
- data.tar.gz: 152b81f96508e9e3528a0667c18d62d6fe3e11e0
3
+ metadata.gz: a84f25e6ff6b38f219a0fd27053bd75aa094bca2
4
+ data.tar.gz: fe0775c19cbd7bae7df0f3ded11e0807d30c5544
5
5
  SHA512:
6
- metadata.gz: d1f573e86cc015a549fa87015a91b0facbb9a0700f91bd4aab9a260082947d3e7bf3f9cc2e04b880f9e79072d7b2fa7caa98a53f64ff4790a1e9fc1fdb6f86cd
7
- data.tar.gz: b1ea5c1f61f0418f822068e67f173fae91bd7acf6342e93f311bf0311a6bcb0938323f3a4de8a87d806153a101053e07b0cf5e03290612c1d99bf7b9fae1bdc2
6
+ metadata.gz: f32d457d783865981779024eb32fbde0c46a36e47dfa1d72caef9baaa8f058c3a3f5bec469b6277e0080aba09b80dad837e1e570c4042035ec713a12057fbd15
7
+ data.tar.gz: a45eb9b23387c961c144c8a6fd97e55131f395045d5c4d5eaae112e6c2f995540e0985ea9c75314287082ab62c8c45241ceaead2cae4da624cc9170854171425
@@ -3,25 +3,9 @@ require 'middleman_dato/middleman_extension'
3
3
 
4
4
  module Middleman
5
5
  module Paginate
6
- class Extension < ::Middleman::ConfigExtension
7
- self.resource_list_manipulator_priority = 0
8
-
6
+ class Extension < ::Middleman::Extension
9
7
  expose_to_config paginate: :paginate
10
8
 
11
- class CollectionDescriptor
12
- attr_reader :descriptors
13
-
14
- def initialize(descriptors)
15
- @descriptors = descriptors
16
- end
17
-
18
- def execute_descriptor(app, sum)
19
- descriptors.reduce(sum) do |sum, descriptor|
20
- descriptor.execute_descriptor(app, sum)
21
- end
22
- end
23
- end
24
-
25
9
  class Pager
26
10
  attr_reader :current_page, :total_pages, :per_page
27
11
 
@@ -42,31 +26,29 @@ module Middleman
42
26
  end
43
27
 
44
28
  def page_path(page = current_page)
45
- "#{@base_path}#{page == 1 ? '' : @suffix.gsub(/:num/, page.to_s)}.html"
29
+ "#{@base_path}#{page == 1 ? '/index' : @suffix.gsub(/:num/, page.to_s)}.html"
46
30
  end
47
31
  end
48
32
 
49
33
  def paginate(collection, base_path, template, per_page: 20, suffix: "/page/:num", locals: {}, data: {})
50
- pages = collection.each_slice(per_page).to_a
51
-
52
- descriptors = []
53
-
54
- pages.each_with_index do |page_collection, i|
55
- pager = Pager.new(base_path, suffix, i + 1, pages.size, per_page)
56
-
57
- opts = {
58
- locals: locals.merge(items: page_collection, pager: pager),
59
- data: data
60
- }
61
-
62
- descriptors << Middleman::Sitemap::Extensions::ProxyDescriptor.new(
63
- Middleman::Util.normalize_path(pager.page_path),
64
- Middleman::Util.normalize_path(template),
65
- opts
66
- )
34
+ collection.tap do |collection|
35
+ pages = collection.each_slice(per_page).to_a
36
+
37
+ pages.each_with_index do |page_collection, i|
38
+ pager = Pager.new(base_path, suffix, i + 1, pages.size, per_page)
39
+
40
+ opts = {
41
+ locals: locals.merge(items: page_collection, pager: pager),
42
+ data: data
43
+ }
44
+
45
+ proxy(
46
+ Middleman::Util.normalize_path(pager.page_path),
47
+ Middleman::Util.normalize_path(template),
48
+ opts
49
+ )
50
+ end
67
51
  end
68
-
69
- CollectionDescriptor.new(descriptors)
70
52
  end
71
53
  end
72
54
  end
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module Paginate
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-paginate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Verna
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-30 00:00:00.000000000 Z
11
+ date: 2016-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler