{"id":14954628,"url":"https://github.com/meteor/ractive","last_synced_at":"2025-10-03T06:31:32.098Z","repository":{"id":11032864,"uuid":"13365799","full_name":"meteor/Ractive","owner":"meteor","description":"Next-generation DOM manipulation","archived":false,"fork":true,"pushed_at":"2013-10-14T20:33:09.000Z","size":9662,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-09-28T10:05:04.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://ractivejs.org","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ractivejs/ractive","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meteor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-06T17:18:39.000Z","updated_at":"2024-03-09T21:42:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/meteor/Ractive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2FRactive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2FRactive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2FRactive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2FRactive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meteor","download_url":"https://codeload.github.com/meteor/Ractive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219876354,"owners_count":16554747,"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":[],"created_at":"2024-09-24T13:04:34.576Z","updated_at":"2025-10-03T06:31:31.046Z","avatar_url":"https://github.com/meteor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ractive.js - Next-generation DOM manipulation\n=============================================\n\n*Got questions? Tag Stack Overflow questions with [ractivejs](http://stackoverflow.com/questions/tagged/ractivejs) or contact [@RactiveJS](http://twitter.com/RactiveJS) on Twitter*\n\nWhat is Ractive.js?\n-------------------\n\nIt's a JavaScript library for building reactive user interfaces in a way that doesn't force you into a particular framework's way of thinking. Its features include...\n\n* data-binding, with a beautiful declarative syntax\n* event handling that doesn't make you tear your hair out\n* flexible and performant animations and transitions\n\n...among many others. It takes a radically different approach to DOM manipulation - one that saves both you and the browser unnecessary work.\n\nTo get a feel for how it will make your life as a web developer easier, visit [ractivejs.org](http://ractivejs.org), follow the [interactive tutorials](http://learn.ractivejs.org), or try the [60 second setup](https://github.com/Rich-Harris/Ractive/wiki/60-second-setup).\n\n\nGet help\n--------\n\nIf you don't find what you're looking for in the [docs](https://github.com/rich-harris/Ractive/wiki), ask a question on Stack Overflow with the `ractive` tag, or send a tweet to [@RactiveJS](http://twitter.com/RactiveJS) or [@Rich_Harris](http://twitter.com/Rich_Harris).\n\n\nBuilding\n--------\n\nTo build the project locally, you'll need to have [Grunt](http://gruntjs.com) installed. Clone the repo, navigate to the folder, then do\n\n```shell\n$ npm install\n```\n\nto install all the development dependencies (which aren't included in the repo itself). Then do\n\n```shell\n$ grunt\n```\n\nto build the project from source, lint it, run the tests and minify the library. If all of those steps succeed, files will be created in the `build` folder.\n\nOther grunt commands available:\n\n```shell\n# Watch all source files, and rebuild when they change. This will\n# only concatenate the files (it won't lint/test/minify) to the\n# tmp folder\n$ grunt watch\n\n# Concatenate the files to the tmp folder\n$ grunt concat\n\n# Lint the concatenated code\n$ grunt jshint\n\n# Run tests on the concatenated code\n$ grunt qunit\n\n# Release a new version of the library to the release folder\n# (reads version number from package.json)\n$ grunt release\n```\n\n\nContributing\n------------\n\nIf you have feature suggestions or bug reports, please [raise an issue on GitHub](https://github.com/Rich-Harris/Ractive/issues) after checking it's not a duplicate.\n\nPull requests are always welcome! In lieu of a formal styleguide, please try to follow the existing conventions.\n\n\nBrowser support\n---------------\n\nTested successfully in IE8+ and all modern browsers. If your experience differs please let me know! (For legacy browser support, use the builds with `legacy` in the filename - these include polyfills for `Array.prototype.forEach` and other ES5 features used by Ractive.)\n\n\nLicense\n-------\n\nCopyright (c) 2012-13 Rich Harris. Released under an MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteor%2Fractive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeteor%2Fractive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteor%2Fractive/lists"}