jekyll-itafroma-archive 0.2.0 → 0.2.1

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: ab0d1eafe7e7202e6ade0f08785acff15d18817b
4
- data.tar.gz: 924cacc3a7c34d321a0aa5b5f86f54bda6c76132
3
+ metadata.gz: 644948172026b1fee314dad4fb5cf3cce4e2c07d
4
+ data.tar.gz: 8fcbcb96a7299db26cd5d449fa03587927075623
5
5
  SHA512:
6
- metadata.gz: 55ac6cf9979f3041f4689cdd8ad16fb751758be7616de616de40c71e0010560b8af9799542ec9a081d199df4ef3b7f4a297454b4b18663e5ac824a5c01734e31
7
- data.tar.gz: 05c833f81b8cfe010fc198e2a1220ba0e11a3876467b3b1cacae093b592dcab25e56472bc6b9dd9880da5e8d2843b7dcec144fa90218cba1d4d975f68f45914d
6
+ metadata.gz: 34f78dda41ea6c48ffbcc803294b66240f1c757aa453f3001d2409e2f8c09c67d371b76ab8349b22569ae03708898ea47102802ad3405dc1bb5a70040d8cc048
7
+ data.tar.gz: afb630e416b23c9bf124296a89f3dc763256df4683f55d484694c30e29c294b9ff05ff73fd49e97765db03e9dda229a9feb5f9f4130e22b39825e75567b766ce
@@ -5,7 +5,7 @@
5
5
  # contains a post.
6
6
  #
7
7
  # Author:: Mark Trapp
8
- # Copyright: Copyright (c) 2013 Mark Trapp
8
+ # Copyright: Copyright (c) 2013-2014 Mark Trapp
9
9
  # License:: MIT
10
10
 
11
11
  module Jekyll
@@ -2,7 +2,7 @@
2
2
  # An archive listing page.
3
3
  #
4
4
  # Author:: Mark Trapp
5
- # Copyright: Copyright (c) 2013 Mark Trapp
5
+ # Copyright: Copyright (c) 2013-2014 Mark Trapp
6
6
  # License:: MIT
7
7
  # Acknowledgements:: Inspired by the work done by nlindley and ilkka on Github:
8
8
  # https://gist.github.com/nlindley/6409459
@@ -1,8 +1,10 @@
1
1
  #
2
2
  # An archive listing pager.
3
3
  #
4
+ # Adapted from Jekyll::Generators::Pagination
5
+ #
4
6
  # Author:: Mark Trapp
5
- # Copyright: Copyright (c) 2013 Mark Trapp
7
+ # Copyright: Copyright (c) 2014 Mark Trapp
6
8
  # License:: MIT
7
9
  # Acknowledgements:: Inspired by the work done by nlindley and ilkka on Github:
8
10
  # https://gist.github.com/nlindley/6409459
@@ -12,14 +14,18 @@
12
14
  module Jekyll
13
15
  module Itafroma
14
16
  # Represents the pager used for ArchivePages.
15
- class ArchivePager < Pager
17
+ class ArchivePager
18
+ attr_reader :page, :per_page, :posts, :total_posts, :total_pages,
19
+ :previous_page, :previous_page_path, :next_page,
20
+ :next_page_path
21
+
16
22
  # Static: Return the pagination path of the archive page
17
23
  #
18
24
  # posts - The Array of the archive's Posts.
19
25
  # num_page - the pagination page number
20
26
  #
21
27
  # Returns the pagination path as a string
22
- def self.paginate_archive_path(posts, num_page)
28
+ def self.paginate_path(posts, num_page)
23
29
  return posts.first.url if num_page.nil?
24
30
  return nil if num_page < 1
25
31
  return nil if num_page > posts.size
@@ -34,9 +40,37 @@ module Jekyll
34
40
  # num_pages - The Integer number of pages or nil if you'd like the number
35
41
  # of pages calculated.
36
42
  def initialize(site, page, all_posts, num_pages = nil)
37
- super
38
- @previous_page_path = ArchivePager.paginate_archive_path(all_posts, @previous_page)
39
- @next_page_path = ArchivePager.paginate_archive_path(all_posts, @next_page)
43
+ @page = page
44
+ @per_page = 1
45
+ @total_pages = num_pages || all_posts.size
46
+
47
+ if @page > @total_pages
48
+ fail "Jekyll Archive Generator: page number can't be greater than total pages: #{@page} > #{@total_pages}"
49
+ end
50
+
51
+ @total_posts = all_posts.size
52
+ @posts = all_posts
53
+ @previous_page = @page != 1 ? @page - 1 : nil
54
+ @previous_page_path = ArchivePager.paginate_path(all_posts, @previous_page)
55
+ @next_page = @page != @total_pages ? @page + 1 : nil
56
+ @next_page_path = ArchivePager.paginate_path(all_posts, @next_page)
57
+ end
58
+
59
+ # Convert this Pager's data to a Hash suitable for use by Liquid.
60
+ #
61
+ # Returns the Hash representation of this Pager.
62
+ def to_liquid
63
+ {
64
+ 'page' => page,
65
+ 'per_page' => per_page,
66
+ 'posts' => posts,
67
+ 'total_posts' => total_posts,
68
+ 'total_pages' => total_pages,
69
+ 'previous_page' => previous_page,
70
+ 'previous_page_path' => previous_page_path,
71
+ 'next_page' => next_page,
72
+ 'next_page_path' => next_page_path
73
+ }
40
74
  end
41
75
  end
42
76
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-itafroma-archive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Trapp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-14 00:00:00.000000000 Z
11
+ date: 2014-02-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Jekyll plugin to create a set of archive pages.
14
14
  email: mark@marktrapp.com