{"id":26294230,"url":"https://github.com/animatry/animatry","last_synced_at":"2026-03-10T05:04:09.971Z","repository":{"id":276595134,"uuid":"900823773","full_name":"animatry/animatry","owner":"animatry","description":"Javascript animation library.","archived":false,"fork":false,"pushed_at":"2025-05-02T09:25:15.000Z","size":107,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-24T03:52:12.907Z","etag":null,"topics":["animation","javascript-library","split-text","web-animation"],"latest_commit_sha":null,"homepage":"https://animatry.com","language":"TypeScript","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/animatry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-09T14:37:07.000Z","updated_at":"2025-07-11T15:52:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"47de4e93-7017-4698-9d65-cce94b7eb037","html_url":"https://github.com/animatry/animatry","commit_stats":null,"previous_names":["animatry/animatry"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/animatry/animatry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animatry%2Fanimatry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animatry%2Fanimatry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animatry%2Fanimatry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animatry%2Fanimatry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/animatry","download_url":"https://codeload.github.com/animatry/animatry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animatry%2Fanimatry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30325603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["animation","javascript-library","split-text","web-animation"],"created_at":"2025-03-15T03:17:53.566Z","updated_at":"2026-03-10T05:04:09.949Z","avatar_url":"https://github.com/animatry.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Animatry (JavaScript animation library)\n\n![Animatry Logo](https://raw.githubusercontent.com/animatry/animatry/main/banner.svg)\n\nAnimatry is a **modern JavaScript animation library** built for performance, flexibility, and a clean API.  \nIt supports declarative and imperative workflows, handles complex animation timing, and is extensible through powerful plugins.\n\n\n## Installation\n\nInstall via npm:\n\n```bash\nnpm install animatry\n```\n\nOr use the CDN:\n\n_To keep the bundle size low, you need to import these 4 packages. This makes it possible to use plugins standalone without importing the entire base library._\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/animatry@latest/dist/umd/core.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/animatry@latest/dist/umd/metrics.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/animatry@latest/dist/umd/easing.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/animatry@latest/dist/umd/animatry.min.js\"\u003e\u003c/script\u003e\n```\n\n\n## Getting Started\n\n```js\nimport { animatry } from 'animatry';\n\nanimatry.to('.box', {\n  x: 500,\n  rotate: 45,\n  scale: '+=0.5',\n  repeat: 5,\n  alternate: true,\n});\n```\n\n\n## Full Documentation\n\nVisit the official website at **[animatry.com](https://animatry.com)**.\u003cbr/\u003eYou will find examples, plugin usage, easings, and full API references.\n\n\n## Timeline Support\n\nChain multiple tweens with precise control:\n\n```js\nconst tl = animatry.timeline({ ease: 'powerInOut' });\n\ntl.to('.box1', {\n  x: 300,\n  duration: 1.5,\n  onComplete: () =\u003e console.log('First step complete'),\n});\n\ntl.to('.box2', {\n  y: 100,\n  opacity: 0,\n});\n```\n\n[view in docs](https://animatry.com/docs/animatry/timeline)\n\n\n## Keyframes\n\nAnimate through multiple states with a single tween:\n\n```js\nanimatry.to('.box', {\n  duration: 2,\n  keyframes: {\n    x: [0, 200, 100, 300],\n    y: [0, 50, 0],\n    easeEach: 'powerInOut',\n  },\n});\n```\n\nOr with percentage/object-based syntax:\n\n```js\nanimatry.to('.box', {\n  duration: 2,\n  keyframes: {\n    '0%': { x: 0 },\n    '50%': { x: 200, ease: 'bounceOut' },\n    '100%': { x: 0 }\n  },\n});\n```\n\n[view in docs](https://animatry.com/docs/animatry/keyframes)\n\n\n## Easing Options\n\n```js\n'none' / 'linear'\n'powerIn' / 'powerOut' / 'powerInOut(2)'\n'steps(5)'\n'bounceInOut'\n'elasticOut(3)'\n'backIn(1.5)'\n'cubic-bezier(0.25, 0.1, 0.25, 1.0)'\n```\n\nYou can also define custom easing functions that transform a 0–1 progress value.\n\n[view in docs](https://animatry.com/docs/animatry/easing)\n\n\n## Plugins\n\nAnimatry comes with built-in and optional plugins. Examples:\n\n### Split Text\n\nYou can split text into chars, words or lines.\n\n```js\nimport { animatry, splitText } from 'animatry';\n\nconst letters = splitText('.headline', 'chars').chars;\n\nanimatry.from(letters, {\n  y: '100%',\n  opacity: 0,\n  stagger: { duration: 0.6 }\n});\n```\n\n[view in docs](https://animatry.com/docs/plugins/splitText)\n\n### Morph Path\n\nMorph between arbitrary SVG paths or shape elements like `\u003ccircle\u003e` or `\u003crect\u003e`.\n\n```js\nimport { animatry, morphPath } from 'animatry';\nanimatry.use(morphPath);\n\nanimatry.to('.path1', {\n  morphPath: '.path2',\n  duration: 2,\n  repeat: -1,\n  alternate: true,\n});\n```\n\n[view in docs](https://animatry.com/docs/plugins/morphPath)\n\n### Scroll Observer\n\nPin, steer, and trigger animations on scroll.\n\n```js\nimport { animatry, scrollObserver } from 'animatry';\n\nscrollObserver({\n  animation: animatry.to('.box', { x: 300 }),\n  trigger: '.box',\n  start: 'top center',\n  end: 'bottom top',\n  steer: true,\n});\n```\n\n[view in docs](https://animatry.com/docs/plugins/scrollObserver)\n\n\n## More features...\n\n- [scrollSmooth](https://animatry.com/docs/plugins/scrollSmooth)\n- [magnetic](https://animatry.com/docs/plugins/magnetic)\n- [scaleText](https://animatry.com/docs/plugins/scaleText)\n- [scrollTo](https://animatry.com/docs/plugins/scrollTo)\n- [matchMedia](https://animatry.com/docs/plugins/matchMedia)\n- React integration: [useAnimatry](https://animatry.com/docs/react/useAnimatry) / [\\\u003cAnimatry\\\u003e](https://animatry.com/docs/react/Animatry)\n\n\n## Development\n\nThis is an actively developed project. Contributions, feedback, and feature requests are welcome.\n\nWebsite: [animatry.com](https://animatry.com)\u003cbr/\u003eDocs: [animatry.com/docs](https://animatry.com/docs)\u003cbr/\u003eIssues: [GitHub Issues](https://github.com/animatry/animatry/issues)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimatry%2Fanimatry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanimatry%2Fanimatry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimatry%2Fanimatry/lists"}