Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

RefreshLess

2 sites Security covered
View on drupal.org

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 ๐ŸŒ

๐Ÿ“— 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.

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

Tracked releases
14
Tracked since
Oct 2024
Latest release
2 weeks ago
Releases (12 mo)
2 ▼ from 12
Maintenance
Active

Release Timeline

Releases

Version Type Core 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
2.0.0-alpha4 Pre-release 10โ€“11 Dec 5, 2024
2.0.0-alpha3 Pre-release 10โ€“11 Nov 30, 2024
2.0.0-alpha2 Pre-release 10โ€“11 Oct 22, 2024
2.0.0-alpha1 Pre-release 10โ€“11 Oct 15, 2024