Skip to content

Instantly share code, notes, and snippets.

@brainlid
Forked from purcell/application_helper.rb
Created May 18, 2012 04:06
Show Gist options
  • Save brainlid/2723095 to your computer and use it in GitHub Desktop.
Save brainlid/2723095 to your computer and use it in GitHub Desktop.
Make will_paginate generate HTML that bootstrap.less will render nicely
# Based on https://gist.github.com/1182136
# config/initializers/will_paginate.rb
class BootstrapLinkRenderer < ::WillPaginate::ActionView::LinkRenderer
protected
def html_container(html)
tag :div, tag(:ul, html), container_attributes
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('active' if page == current_page)
end
def gap
tag :li, link(super, '#'), :class => 'disabled'
end
def previous_or_next_page(page, text, classname)
tag :li, link(text, page || '#'), :class => [classname[0..3], classname, ('disabled' unless page)].join(' ')
end
end
# Output TwitterBootstrap friendly paging links.
def page_navigation_links(pages)
will_paginate(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0,
:renderer => BootstrapLinkRenderer,
:previous_label => '&laquo;'.html_safe,
:next_label => '&raquo;'.html_safe)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment