RefreshLess enhances Drupal websites by adding JavaScript-based navigation for a smoother, faster user experience. It works by layering this on top of Drupal's existing HTML, allowing sites to function perfectly even if JavaScript is disabled while still offering the feel of a single-page application. This approach also reuses Drupal's built-in features like Twig templates and asset management.
RefreshLess layers JavaScript-based navigation on top of Drupal's existing server-rendered HTML to provide the kind of smooth, fast, and responsive experience users expect. By fully embracing progressive enhancement, you don't need to choose between a web site/web app that continues to work if JavaScript breaks or something that feels like a single page app (SPA) user experience - you can have both.
Compared to an SPA:
- Provides much higher resiliency in unexpected or adverse network or runtime conditions where JavaScript fails to load or execute correctly. In such situations, your users still have a functioning site/app that falls back to traditional page loads. The browser is the most hostile runtime environment after all.
- Reuses Drupal's server-rendered HTML, saving you the development time and cost of re-implementing a whole new front-end, while making use of Drupal's Twig templates, asset library system, caching, security, and so on.
Compared to a plain server-rendered HTML site:
- Navigation feels faster and more fluid because the browser no longer needs to re-initialize all CSS and JavaScript on every page request.
- Page transitions (with or without the View Transitions API), morphing, and permanent/persistent elements (think media players, etc.) are now possible.
- Everyone thinks you're super cool.
โจ Press and coverage โจ
We were named module of the week on Talking Drupal episode 514!
๐ See it in action ๐
- Omnipedia
- Playthroughline
- ambientimpact.com
- Your site here perhaps? ๐ฅน
๐ Documentation ๐
We have a documentation site that contains information on installing and using RefreshLess, integrating with it (events, behaviours, etc.), how to get involved with its development, and more.
๐ข Get involved ๐ข
If you want to help out, please see our getting started documentation page. The current focus for 2.x is #3393105: Hotwire Turbo minimum viable implementation.
We also have a ๐ฌ Matrix room if you'd like to drop by to help out, ask questions, and so on.
๐ธ Support this project financially ๐ธ
The modern rewrite of this project has been a lot of work, with a good part of that unpaid. If you'd like to make it easier to continue developing this project, please see our Liberapay page.
โ๏ธ Questions and answers โ๏ธ
Have questions about RefreshLess? We might have answers.
Similar projects
- HTMX module
- Provides Drupal integration for the excellent htmx library; the module is a developer tool that doesn't (currently) aim to apply to the entire existing Drupal front-end but instead focuses on pre-defined blocks to progressively enhance; we would like to eventually support it as an implementation (see #3456344: htmx implementation) in the long term and implement #3480400: Turbo: Compatibility with the HTMX contrib module in the short term.
Ask your assistant about RefreshLess
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 2.0.0-alpha14 | Pre-release | 10โ11 | Aug 11, 2026 | ||
| 2.0.0-alpha13 | Pre-release | 10โ11 | Jan 21, 2026 | ||
| 2.0.0-alpha12 | Pre-release | 10โ11 | Aug 28, 2025 | ||
| 2.0.0-alpha11 | Pre-release | 10โ11 | Aug 19, 2025 | ||
| 2.0.0-alpha10 | Pre-release | 10โ11 | Aug 4, 2025 | ||
| 2.0.0-alpha9 | Pre-release | 10โ11 | Mar 26, 2025 | ||
| 2.0.0-alpha8 | Pre-release | 10โ11 | Mar 22, 2025 | ||
| 2.0.0-alpha7 | Pre-release | 10โ11 | Jan 28, 2025 | ||
| 2.0.0-alpha6 | Pre-release | 10โ11 | Jan 15, 2025 | ||
| 2.0.0-alpha5 | Pre-release | 10โ11 | Dec 12, 2024 |