HTML pagination helpers for Elixir's Scrivener library, supporting multiple CSS frameworks.
Scrivener.Html is a library for Elixir applications that provides view helpers to generate pagination HTML. It works with the Scrivener pagination library to convert page structs into styled navigation links, simplifying the creation of paginated interfaces for web applications. It solves the problem of manually building pagination HTML by offering framework-compatible output and SEO-friendly features.
Elixir developers building web applications with Phoenix or other frameworks that need paginated data displays, particularly those using CSS frameworks like Bootstrap, Foundation, Semantic UI, Materialize, or Bulma.
Developers choose Scrivener.Html because it offers out-of-the-box support for multiple CSS frameworks, reducing boilerplate code, and provides extensive customization options for link text, icons, and HTML. Its SEO-friendly features, such as automatic rel attributes and helper functions for <head> link tags, give it an edge over basic pagination solutions.
HTML view helpers for Scrivener
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates pagination HTML styled for Bootstrap, Foundation, Semantic UI, Materialize, and Bulma out of the box, reducing CSS boilerplate. The README lists six view styles, including bootstrap_v4 for modern versions.
Automatically adds rel attributes to links and provides Scrivener.HTML.SEO helpers for <head> link tags, improving search engine indexing without extra code. This is highlighted in the SEO section of the README.
Allows custom text, icons, or HTML for previous/next/first/last links using options like Phoenix.HTML.raw or ~E sigils. Examples in the README show integration with Materialize icons and custom templates.
Works with Phoenix.HTML, supports nested resources, URL parameters, and custom controller actions via path and action options. The README provides examples for complex routing scenarios like locale-based scopes.
Only functions with Scrivener's pagination structs, making it unusable for projects with other pagination libraries or custom implementations, as stated in the project description.
View styles target specific, older versions of CSS frameworks (e.g., Bootstrap 3.x/4.x, not 5.x), which may not align with modern dependencies and require manual updates or forks.
Requires configuration in mix.exs, config.exs for routes_helper, and view imports, adding complexity for simple use cases or quick prototyping compared to drop-in solutions.