Class: RageRender::BlogArchiveDrop
- Inherits:
-
Jekyll::Drops::Drop
- Object
- Jekyll::Drops::Drop
- RageRender::BlogArchiveDrop
- Defined in:
- lib/ragerender/jekyll/blog_archive.rb
Overview
Data to pass to a blog archive page.
Instance Method Summary collapse
- #blogs_paginated ⇒ Object
- #lastpagenumber ⇒ Object
-
#pages ⇒ Object
Objects used for laying out page numbers.
Instance Method Details
#blogs_paginated ⇒ Object
60 61 62 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 60 def blogs_paginated all_blogs[number-1]&.map {|blog| PaginatedBlogDrop.new(blog).to_liquid } || [] end |
#lastpagenumber ⇒ Object
64 65 66 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 64 def lastpagenumber all_blogs.size end |
#pages ⇒ Object
Objects used for laying out page numbers.
The page numbers always include:
-
the first page
-
the last page
-
two pages around the current page
74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 74 def pages [1].chain([1, all_blogs.size, *(number-2..number+2).to_a].uniq).select {|i| i >= 1 && i <= all_blogs.size }.sort.each_cons(2).map do |prev, page| { 'page' => page, 'pagelink' => File.join(@obj.url, 'page', page.to_s), 'is_current' => page == number, 'skipped_ahead' => page - prev > 1, } end end |