β οΈ In the future, thesenna
npm package will be deprecated and this repo archived (ie. switched to read-only mode). Development continues in theliferay/liferay-portal
repo (more specifically, inside thefrontend-js-spa-web
module), but not as an independent project, in order to better integrate with and serve the needs of Liferay DXP. At the time of writing, the last official release was v2.7.9, from the2.x
series on themaster
branch, and it is still used by a number of pre-EOL versions of Liferay DXP, such as 7.0.x, 7.1.x, 7.2.x, and 7.3.x. Any maintenance releases required to the v2.x series of the npm package in the future will be made from the liferay-frontend-projects monorepo.
Senna.js
Senna.js is a blazing-fast single page application engine that provides several low-level APIs that allows you to build modern web-based applications with only ~15 KB of JavaScript without any dependency.
Support and Project status
Senna.js is widely used and well maintained internally at Liferay but does not currently have staffing to support the open source release. As such this project is mostly internal and support is minimal. For certain issues, like build integration we are in an especially bad position to offer support.
To get assistance you can use any of the following forums
- Look through the documentation.
- File an issue on GitHub
We will try our best, but keep in mind that given our support staffing, we may not be able to help.
Install
Install via npm, Bower, CDN or download as a zip:
npm install senna
Examples
- Email Example: Enable Single Page Apps using only HTML5 data-attributes;
- Gallery Example: Carousel app with history support and cacheable screens;
- Blog Example: Infinite scrolling pages done right with history support;
Setup
-
Install NodeJS >= v0.12.0, if you don't have it yet.
-
Install global dependencies:
[sudo] npm install -g gulp
- Install local dependencies:
npm install
bower install
- Build the code:
gulp
gulp server
- Test the code:
gulp test
gulp test:coverage
Contributing
Please, see our detailed CONTRIBUTING guide for all the information you need to contribute to the project!
History
For detailed changelog, check Releases.
Credits
- Inspired by Daniel Pupius' Surface project
- Demo layouts by Pure CSS
- Icon made by Freepik
Team
Senna.js was made with love by these people and a bunch of awesome contributors.
Author | Maintainer |
---|---|
Eduardo Lundgren | Bruno Basto |
Browser Support
License
BSD License Β© Liferay, Inc.