Pagy is a pagination gem.

It works in any environment: with Rack frameworks (Rails, Sinatra, Padrino,
etc.) or in pure ruby without Rack

It works with any collection: with any ORM, any DB, any search gem,
elasticsearch_rails, meilisearch, searchkick, ransack, and just about any list,
even if you cannot count it

It supports all kinds of pagination: calendar, countless, geared, incremental,
auto-incremental, infinite, headers, JSON, cursor

It supports all kinds of CSS Frameworks and APIs: bootstrap, bulma, foundation,
materialize, semantic, uikit, tailwind, JSON:API

It supports faster client-side rendering: with classic or innovative UI
components (see Javascript Components) or by serving JSON to your favorite
Javascript framework

It has 100% of test coverage for Ruby, HTML and Javascript E2E (see Pagy
Workflows CI)
