Module: Asciidoctor::Html::Pagination
- Included in:
- Book
- Defined in:
- lib/asciidoctor/html/pagination.rb
Overview
Mixin to add pagination support to Book class
Defined Under Namespace
Classes: PagItem
Instance Method Summary collapse
Instance Method Details
#display_paginator(prv, nxt) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/asciidoctor/html/pagination.rb', line 10 def display_paginator(prv, nxt) return "" unless prv || nxt " <div class=\"paginator-wrapper\">\n <div class=\"d-inline-block\">\n <div class=\"paginator\">\n \#{%(<a href=\"\#{prv.url}\">« \#{prv.title}</a>) if prv}\n \#{%(<span class=\"blank\"> </span>) unless prv && nxt}\n \#{%(<a href=\"\#{nxt.url}\">\#{nxt.title} »</a>) if nxt}\n </div>\n </div>\n </div>\n HTML\nend\n" |
#pagination(key = -1)) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/asciidoctor/html/pagination.rb', line 43 def pagination(key = -1) keys = @refs.keys idx = keys.find_index key return "" unless idx prv_nxt keys, idx end |
#prv_nxt(keys, idx) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/asciidoctor/html/pagination.rb', line 26 def prv_nxt(keys, idx) pagitems = [] [idx - 1, idx + 1].each do |i| if i.between?(0, keys.size - 1) key = keys[i] ref = @refs[key] pagitems << PagItem.new( url: "#{key}.html", title: ref["chapref"] ) else pagitems << nil end end display_paginator(*pagitems) end |