# Kaminari [![Build Status](https://github.com/kaminari/kaminari/actions/workflows/main.yml/badge.svg)](https://github.com/kaminari/kaminari/actions) [![Code Climate](https://codeclimate.com/github/kaminari/kaminari/badges/gpa.svg)](https://codeclimate.com/github/kaminari/kaminari) A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for modern web app frameworks and ORMs ## Features ### Clean Does not globally pollute `Array`, `Hash`, `Object` or `AR::Base`. ### Easy to Use Just bundle the gem, then your models are ready to be paginated. No configuration required. Don't have to define anything in your models or helpers. ### Simple Scope-based API Everything is method chainable with less "Hasheritis". You know, that's the modern Rails way. No special collection class or anything for the paginated values, instead using a general `AR::Relation` instance. So, of course you can chain any other conditions before or after the paginator scope. ### Customizable Engine-based I18n-aware Helpers As the whole pagination helper is basically just a collection of links and non-links, Kaminari renders each of them through its own partial template inside the Engine. So, you can easily modify their behaviour, style or whatever by overriding partial templates. ### ORM & Template Engine Agnostic Kaminari supports multiple ORMs (ActiveRecord, DataMapper, Mongoid, MongoMapper) multiple web frameworks (Rails, Sinatra, Grape), and multiple template engines (ERB, Haml, Slim). ### Modern The pagination helper outputs the HTML5 `