{"id":13447649,"url":"https://github.com/mikeric/rivets","last_synced_at":"2025-05-14T06:10:20.763Z","repository":{"id":3047506,"uuid":"4068818","full_name":"mikeric/rivets","owner":"mikeric","description":"Lightweight and powerful data binding.","archived":false,"fork":false,"pushed_at":"2020-04-06T19:49:14.000Z","size":3709,"stargazers_count":3224,"open_issues_count":142,"forks_count":308,"subscribers_count":81,"default_branch":"master","last_synced_at":"2025-04-27T06:01:45.310Z","etag":null,"topics":["coffeescript","databinding","javascript","template-engine"],"latest_commit_sha":null,"homepage":"http://rivetsjs.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-18T21:54:51.000Z","updated_at":"2025-03-10T09:14:38.000Z","dependencies_parsed_at":"2022-08-06T13:15:07.890Z","dependency_job_id":null,"html_url":"https://github.com/mikeric/rivets","commit_stats":null,"previous_names":[],"tags_count":88,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeric%2Frivets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeric%2Frivets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeric%2Frivets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeric%2Frivets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeric","download_url":"https://codeload.github.com/mikeric/rivets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252392506,"owners_count":21740523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coffeescript","databinding","javascript","template-engine"],"created_at":"2024-07-31T05:01:23.460Z","updated_at":"2025-05-14T06:10:20.720Z","avatar_url":"https://github.com/mikeric.png","language":"JavaScript","readme":"# Rivets.js\n\nRivets.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.\n\n## Usage\n\n```html\n\u003csection id=\"auction\"\u003e\n  \u003ch3\u003e{ auction.product.name }\u003c/h3\u003e\n  \u003cp\u003eCurrent bid: { auction.currentBid | money }\u003c/p\u003e\n\n  \u003caside rv-if=\"auction.timeLeft | lt 120\"\u003e\n    Hurry up! There is { auction.timeLeft | time } left.\n  \u003c/aside\u003e\n\u003c/section\u003e\n```\n\n```javascript\nrivets.bind($('#auction'), {auction: auction})\n```\n\n## Getting Started and Documentation\n\nDocumentation 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.\n\n## Building and Testing\n\nFirst install any development dependencies.\n\n```\n$ npm install\n```\n\n#### Building\n\nRivets.js uses [gulp](http://gulpjs.com/) as its build tool. Run the following task to compile + minify the source into `dist/`.\n\n```\n$ gulp build\n```\n\n#### Testing\n\nRivets.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.\n\n```\n$ npm test\n```\n\n## Contributing\n\n#### Bug Reporting\n\n1. Ensure the bug can be reproduced on the latest master.\n2. 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.\n\n#### Pull Requests\n\n1. Fork the repository and create a topic branch.\n3. 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.\n4. Include tests that cover any changes or additions that you've made.\n5. 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).\n","funding_links":[],"categories":["JavaScript","Projects","MVC Frameworks and Libraries","MVC Frameworks and Libraries [🔝](#readme)","MVC 框架和库","JavaScript Libs"],"sub_categories":["Runner","运行器","Template","运行器e2e测试"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeric%2Frivets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeric%2Frivets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeric%2Frivets/lists"}