Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikeric/rivets
Lightweight and powerful data binding.
https://github.com/mikeric/rivets
coffeescript databinding javascript template-engine
Last synced: 6 days ago
JSON representation
Lightweight and powerful data binding.
- Host: GitHub
- URL: https://github.com/mikeric/rivets
- Owner: mikeric
- License: mit
- Created: 2012-04-18T21:54:51.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2020-04-06T19:49:14.000Z (almost 5 years ago)
- Last Synced: 2025-01-28T17:07:18.863Z (14 days ago)
- Topics: coffeescript, databinding, javascript, template-engine
- Language: JavaScript
- Homepage: http://rivetsjs.com
- Size: 3.54 MB
- Stars: 3,223
- Watchers: 81
- Forks: 310
- Open Issues: 142
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - mikeric/rivets - Lightweight and powerful data binding. (JavaScript)
- awesome-javascript - rivets - Lightweight and powerful data binding + templating solution. (MVC Frameworks and Libraries / Runner)
- awesome-javascript - rivets - Lightweight and powerful data binding. - ★ 3125 (MVC Frameworks and Libraries)
README
# Rivets.js
Rivets.js is a lightweight data binding and templating system that facilitates building data-driven views. It is agnostic about every aspect of a front-end MV(C|VM|P) stack, making it easy to introduce it into your current workflow or to use it as part of your own custom front-end stack comprised of other libraries.
## Usage
```html
{ auction.product.name }
Current bid: { auction.currentBid | money }
Hurry up! There is { auction.timeLeft | time } left.
```
```javascript
rivets.bind($('#auction'), {auction: auction})
```## Getting Started and Documentation
Documentation is available on the [homepage](http://rivetsjs.com). Learn by reading the [Guide](http://rivetsjs.com/docs/guide/) and refer to the [Binder Reference](http://rivetsjs.com/docs/reference/) to see what binders are available to you out-of-the-box.
## Building and Testing
First install any development dependencies.
```
$ npm install
```#### Building
Rivets.js uses [gulp](http://gulpjs.com/) as its build tool. Run the following task to compile + minify the source into `dist/`.
```
$ gulp build
```#### Testing
Rivets.js uses [mocha](http://visionmedia.github.io/mocha/) as its testing framework, alongside [should](https://github.com/visionmedia/should.js/) for expectations and [sinon](http://sinonjs.org/) for spies, stubs and mocks. Run the following to run the full test suite.
```
$ npm test
```## Contributing
#### Bug Reporting
1. Ensure the bug can be reproduced on the latest master.
2. Open an issue on GitHub and include an isolated [JSFiddle](http://jsfiddle.net/) demonstration of the bug. The more information you provide, the easier it will be to validate and fix.#### Pull Requests
1. Fork the repository and create a topic branch.
3. Make sure not to commit any changes under `dist/` as they will surely cause conflicts for others later. Files under `dist/` are only committed when a new build is released.
4. Include tests that cover any changes or additions that you've made.
5. Push your topic branch to your fork and submit a pull request. Include details about the changes as well as a reference to related issue(s).