You backend can implement an optional protocol to inspect and manipulate Unpoly's rendering through simple HTTP headers.
If you want to use the optional protocol, but don't want to implement it yourself, you can use an existing library:
| Language | Framework | Protocol implementation |
|---|---|---|
| Elixir | Plug (Phoenix, …) | ex_unpoly |
| Groovy | Grace (Grails) | grace-unpoly |
| Node.js | AdonisJS | adonis-unpoly |
| PHP | Middleware (Laravel, Symfony, …) | php-unpoly |
| Python | Framework-agnostic (Django, Starlette, …) | unpoly |
| Python | Django | django-unpoly |
| Python | Django | unpoly_django |
| Ruby | Ruby on Rails | unpoly-rails |
| Ruby | Roda | roda-unpoly |
| Ruby | Rack (Hanami, Padrino, Sinatra) | rack-unpoly |
| Rust | Axum | unpoly |
If you have discovered a new implementation, please edit this page on GitHub and send a pull request.