It has features such as:
- Custom elements/components and declarative view models
- Automatic resolution and binding of declarative resources
- Page routing with unlimited outlet support
- Transition effect and animation system including sequenced animations
- Does not require a build system or module loader (but it works great with them)
- Inter-module communication and state sharing
- Much, much more...
Ready? Jump into the Getting Started section!
This verision of Footwork (
Please keep the issue tracker limited to bug reports, feature requests and pull requests. If you are reporting a bug make sure to include information about which browser and operating system you are using as well as the necessary steps to reproduce the issue.
Contributions are encouraged, please feel free to fork the repository and begin making changes.
- Fork the repo on GitHub
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- Submit a Pull request to the dev branch so that your changes can be reviewed
- Please continue the coding style expressed in the rest of source.
- If creating a new feature, please also add the corresponding test(s) for it.
- In your pull-request, please do not include an updated
dist/build (generated via
gulp dist), that is a final step done prior to release.
Website and Documentation¶
Contributions towards the website and/or documentation are also encouraged. There are companion repositories for both of these, please contribute to them directly:
Building From Source¶
Clone the repo from GitHub:
git clone https://github.com/footworkjs/footwork.git cd footwork
Install Node.js and NPM (if needed):
This is platform specific. Your OS may already include it, however if not please see: Installing Node.
Install gulp globally (if needed):
sudo npm install -g gulp-cli
Acquire build dependencies:
Run a gulp task to build/test/etc:
Build everything (output in /build):
You can include the
---debugoption on any of the build/testing tasks to include/generate a source map in the output:
Build everything and run tests (coverage report output in build/coverage-reports):
Watch for changes in the source code and automatically rebuild:
Watch for changes in the source code/tests and automatically rebuild + run tests:
Build everything, minify, and deploy to /dist (for release):
To debug the tests in your own browser:
Make sure your build is made without being instrumented for test coverage by running the default build task (otherwise debugging might be a bit difficult):
Install karma (if needed)
sudo npm install -g karma-cli
Start karma and then you can access/debug the tests from your browser at: http://localhost:9876/debug.html
MIT license - http://www.opensource.org/licenses/mit-license.php