/highway

Highway - A Modern Javascript Transitions Manager

Primary LanguageJavaScriptMIT LicenseMIT

Highway

npm npm GitHub issues bundlephobia NpmLicense


⚠️ ⚠️ ⚠️

This repository is no longer maintained.
The v2.2.1 release will be the last one and no more updates will be done on Highway from now on.

Thanks to all the contributors, maintainers and to the community that motivated us to make Highway one of the best transition manager so far. Highway and its Slack will remain available. As long as the community keeps enjoying the library in its current state, there is no reasons for us to archive the repository.

⚠️ ⚠️ ⚠️


Banner

Highway is a lightweight (2.5ko compressed & gzipped), robust, modern and flexible library that will let us create AJAX navigations with beautiful transitions on our websites. It's been a while we were trying to build this kind of library to fits our needs at Dogstudio and we now finally released it!

Banner

Table of Content

Browser Support

Highway is supported by all recent major versions of the following modern browsers.

  • Google Chrome
  • Firefox
  • Edge
  • Safari

With polyfills

Older browsers or versions can be supported by Highway by combining it with polyfills. Please follow this example to have more information. Once the polyfills are configured, Highway should be working on most of the browsers and versions. However, be aware that the oldest browsers or versions might still be unsupported. So, be reasonable before opening an issue...

  • Google Chrome
  • Firefox
  • Edge
  • Safari
  • Internet Explorer 11

Roadmap

  • More Unit Tests
  • More Examples
  • More Demos

Releases

2.2.x

  • 🔒 Update dependencies for security purposes
  • 🎉 Add new websites in the Hall of Fame
  • 🎉 Add Polyfills example to documentation
  • ✨ Reduce bundle size significantly with microbundle
  • 🎨 Update browser support in documentation
  • 🎨 Update browser support in README.md
  • 🐛 Fix Slack URL in documentation
  • 🐛 Fix Slack URL in README.md
  • 🐛 Fix #77

2.1.x

  • 🔒 Update dependencies for security purposes
  • 🎉 Add trigger information in transitions and events
  • 🎉 Add contextual transitions
  • 🎉 Add overlapping transitions
  • ✨ Add Prefetch example to documentation
  • ✨ Improve transitions and events parameters for destructuring
  • ✨ Improve documentation website
  • ✨ Improve Core.redirect(href, transition) method
  • ✨ Improve Core.attach(links) method
  • ✨ Improve Core.detach(links) method
  • 🎨 Invert from and to parameters of the NAVIGATE_END event
  • 🐛 Fix issue #44

2.0.x

  • 🎉 Add documentation website
  • 🎉 Add Core.redirect(href) method
  • 🎉 Add dynamic import for renderers
  • 🎨 Update informations sent with events
  • 🎨 Rename Core.bind() into Core.attach()
  • 🎨 Rename Core.unbind() into Core.dettach()
  • 🎨 Rename Renderer.root into Renderer.view
  • 🎨 Replace Renderer.page by Renderer.properties
  • 🐛 Fix pushState location in the process
  • 🐛 Fix CMD/CTRL + click behavior of browsers
  • 🐛 Fix NAVIGATE_IN event that was fired too early
  • 🐛 Fix the view swapping that causes so issues
  • 🐛 Fix page caching with queries
  • 🐛 Fix issue #9
  • 🐛 Fix issue #12
  • ✨ Improve overall code
  • 🔥 Remove NAVIGATE_ERROR event
  • 🔥 Clean up README.md

1.3.x

  • 🎉 Add ES5 version in dist/es5 folder
  • 🎉 Add the Basic Anchor example
  • 🎉 Add the Basic Polyfill example
  • 🎉 Add unit tests
  • 🔥 Remove modes that weren't convincing
  • ✨ Improve code and weight with ES2016+ features
  • ✨ Improve events
  • ✨ Improve transitions
  • ✨ Improve documentation
  • 🎨 Rename renderers init method to setup method
  • 🐛 Quick fix for URLs with parameters
  • 🐛 Fix events
  • 🐛 Fix helpers
  • 🐛 Skip link with javascript: in href

1.2.x

  • 🎉 Add NAVIGATE_CALL, NAVIGATE_IN, NAVIGATE_OUT events
  • 🎉 Add more variables available in Highway.Renderer
  • ✨ Improve renderers
  • ✨ Improve documentation

1.1.x

  • 🎉 Add modes
  • ✨ Improve documentation

1.0.x

  • 🎉 Add Highway.Transition

0.0.x

  • 🚀 First release

Contributors


Anthony Du Pont

💬 💻 📖
🤔 🚧 👀

ThaoD5

💬 💻 📖
🤔 🚧 👀

Josh Kirk

💻 📖 🤔
🚧

Mike Wagz

📖 🚇


Suyash Purwar

💻 🐛


Davide Lanfranchi

🖋


Fabio Quarantini

💻 🐛


Quentin Neyraud

💻 🐛


Harvey Zack

💻


Stijn de Jong

💻 🐛

License

See the LICENSE file for license rights and limitations (MIT).