{"id":14979635,"url":"https://github.com/takempf/GIFit","last_synced_at":"2025-10-28T19:31:47.849Z","repository":{"id":18101971,"uuid":"21170144","full_name":"Fauntleroy/GIFit","owner":"Fauntleroy","description":"Make GIFs from \u003cvideo\u003e on the web with this extension for Google Chrome and Firefox.","archived":false,"fork":false,"pushed_at":"2023-01-05T01:46:14.000Z","size":29187,"stargazers_count":129,"open_issues_count":21,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T17:51:11.624Z","etag":null,"topics":["chrome","extension","firefox-addon","firefox-extension","gifs","youtube","youtube-video"],"latest_commit_sha":null,"homepage":"","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/Fauntleroy.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}},"created_at":"2014-06-24T15:31:56.000Z","updated_at":"2024-11-27T21:36:26.000Z","dependencies_parsed_at":"2023-01-11T20:28:03.685Z","dependency_job_id":null,"html_url":"https://github.com/Fauntleroy/GIFit","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fauntleroy%2FGIFit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fauntleroy%2FGIFit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fauntleroy%2FGIFit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fauntleroy%2FGIFit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fauntleroy","download_url":"https://codeload.github.com/Fauntleroy/GIFit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238710229,"owners_count":19517669,"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":["chrome","extension","firefox-addon","firefox-extension","gifs","youtube","youtube-video"],"created_at":"2024-09-24T14:00:25.502Z","updated_at":"2025-10-28T19:31:47.841Z","avatar_url":"https://github.com/Fauntleroy.png","language":"JavaScript","funding_links":[],"categories":["Utilities"],"sub_categories":[],"readme":"![GIFit Rudd Dancing](/src/assets/gifit-chrome-store-icon.png)\n\nMaking a GIF can be intimidating. With GIFit, it isn't so intimidating anymore. Just install GIFit and you can make GIFs out of pieces of any YouTube video. Inherit the power of the GIF gods!\n\n![GIFit in action](/screenshots/gifit-screenshot-1.png)\n\n## Installing\n\n### Chrome Web Store (Easy Mode)\n\nYou can install the latest production version of GIFit! from the [Chrome Web Store](https://chrome.google.com/webstore/detail/gifit/khoojcphcmgcplkpckkjpdlloooifgec).\n\n### Compile GIFit from Source (Hard Mode)\n\nHere are some quick and easy steps for compilation success:\n\n1. [Download](https://github.com/Fauntleroy/GIFit/archive/master.zip) or clone this repository and unzip it.\n2. Install [Node.js](https://nodejs.org/) (which includes npm) if you haven't already.\n3. Open your terminal, navigate to the cloned repository directory, and run `npm install` to install the project dependencies.\n4. Run `npm run dev` for Chrome development or `npm run dev:firefox` for Firefox development. This will build the extension and start a development server with hot reloading. The unpacked extension files will be located in the `.output/chrome-mv3/` or `.output/firefox-mv2/` directory respectively.\n5. **For Chrome:**\n   - Navigate to `chrome://extensions/`.\n   - Enable \"Developer mode\" (usually a toggle in the top right).\n   - Click \"Load unpacked\" and select the `GIFit/.output/chrome-mv3` directory.\n6. **For Firefox:**\n   - Navigate to `about:debugging#/runtime/this-firefox`.\n   - Click \"Load Temporary Add-on...\".\n   - Select any file within the `GIFit/.output/firefox-mv2/` directory (e.g., `manifest.json`).\n7. Navigate to [YouTube](http://youtube.com). You should now see a \"GIFit!\" button in video toolbars.\n\nIf you have any problems with the extension, be sure to speak up and [file issues](https://github.com/Fauntleroy/GIFit/issues)!\n\n## Contributing\n\nContributing to this project is EASY, provided that you love GIFs and aren't afraid of JS/TS. This project uses [WXT](https://wxt.dev/) (which includes [Vite](https://vitejs.dev/)), [React](http://facebook.github.io/react/), [TypeScript](https://www.typescriptlang.org/), and CSS Modules.\n\nThe `package.json` defines several npm scripts for development:\n\n- `npm run dev`: Starts the WXT development server for Chrome, which builds the extension and enables hot reloading.\n- `npm run dev:firefox`: Starts the WXT development server for Firefox.\n- `npm run build`: Compiles the extension for production (Chrome by default). The output will be in the `.output/chrome-mv3/` directory.\n- `npm run build:firefox`: Compiles the extension for Firefox production. The output will be in the `.output/firefox-mv2/` directory.\n- `npm run zip`: Builds and zips the extension for Chrome.\n- `npm run zip:firefox`: Builds and zips the extension and source code for Firefox.\n- `npm run compile`: Runs the TypeScript compiler to check for type errors.\n- `npm run test`: Runs Vitest unit tests.\n- `npm run test:e2e`: Runs Playwright end-to-end tests.\n- `npm run lint`: Lints the codebase using ESLint.\n- `npm run lint:fix`: Lints and automatically fixes issues.\n\nThe old test commands (`npm run test` for SauceLabs, `npm run test:browser`) mentioned previously are outdated. Please use `npm run test` for unit tests and `npm run test:e2e` for end-to-end tests.\n\nWhen fixing bugs/adding features please make **NEW BRANCHES** and submit pull reqs. Please follow the existing code style as well as you're able. Make sure the tests are passing, and if you add any new features, you add tests for them.\n\nWhen fixing bugs/adding features please make **NEW BRANCHES** and submit pull reqs. Please follow the existing code style as well as you're able. Make sure the tests are passing, and if you add any new features, you add tests for them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakempf%2FGIFit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakempf%2FGIFit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakempf%2FGIFit/lists"}