Skip to content

Integrates the Bulma pagination component with will_paginate

License

Notifications You must be signed in to change notification settings

phoffer/will_paginate-bulma

Repository files navigation

will_paginate-bulma

Bulma Pagination Component

This gem integrates the Bulma pagination component with the will_paginate pagination gem.

Supports Bulma 0.4.2-0.9.0

Install

  • gem install will_paginate-bulma, or
  • For projects using Bundler, add gem 'will_paginate-bulma' to your Gemfile (and then run bundle install).

Usage

Hanami

  1. To work with Hanami, you'll need to bundle a fork of will_paginate at phoffer/will_paginate with the hanami branch. (Hopefully it will be merged soon!)
  2. Add the helper to the app you want to use will_paginate in application.rb. This enables will_pagination in Hanami.
  3. To render, use BulmaPagination::Hanami as the renderer.
# apps/web/application.rb
view.prepare do
  ...
  include WillPaginate::Hanami
end
# rendering
<%= will_paginate collection, renderer: BulmaPagination::Hanami %>

Rails

  1. Load the Bulma CSS in your template.
  2. In your view, use the renderer: BulmaPagination::Rails option with the will_paginate helper, for example:
<%= will_paginate @collection, renderer: BulmaPagination::Rails %>

Sinatra

  1. Load the Bulma CSS in your template.
  2. require "will_paginate-bulma" in your Sinatra app.
  3. In your view, use the renderer: BulmaPagination::Sinatra option with the will_paginate helper, for example:
<%= will_paginate @collection, renderer: BulmaPagination::Sinatra %>

Configuration

Any of the above usage scenarios will accept configuration options, allowing the user to change the pagination components appearance with Bulma modifier classes. For example, the following will render the pagination component centered on the page:

<%= will_paginate @collection, renderer: BulmaPagination::Rails, class: 'is-centered' %>

The supported configuration options are as follows:

  • class applies a class to the top level pagination nav element
  • link_separator text or html to insert between pagination-link elements
  • link_options a hash of attributes added to active pagination-link elements (note, classes added here will be overwritten)
  • previous_label text or html to replace the inner content of the link within the pagination-previous element
  • next_label text or html to replace the inner content of the link within the pagination-next element
  • maximum_links affect how spacers are applied when you have many pages. This allows you to show the first and last page, then the current page with a certain number of pages on either sides.

Contributing

  1. Fork it.
  2. Create a branch (git checkout -b my_markup)
  3. Commit your changes (git commit -am "Cool new feature")
  4. Push to the branch (git push origin my_markup)
  5. Open a [Pull Request][1]

Special Thanks

This gem code was based on will_paginate-foundation by Adrian Rangel (@acrogenesis).

License

The MIT License (MIT)

About

Integrates the Bulma pagination component with will_paginate

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages