Class: RageRender::BlogArchiveDrop
- Inherits:
-
Jekyll::Drops::Drop
- Object
- Jekyll::Drops::Drop
- RageRender::BlogArchiveDrop
- Extended by:
- Pipettes
- 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.
Methods included from Pipettes
clean_payload, def_data_delegator, def_image_metadata, def_loop, extended, loops
Instance Method Details
#blogs_paginated ⇒ Object
89 90 91 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 89 def blogs_paginated all_blogs[number-1]&.map {|blog| PaginatedBlogDrop.new(blog).to_liquid } || [] end |
#lastpagenumber ⇒ Object
93 94 95 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 93 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
103 104 105 106 107 108 109 110 111 112 |
# File 'lib/ragerender/jekyll/blog_archive.rb', line 103 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 |