├── .gitignore ├── .npmignore ├── LICENSE.md ├── README.md ├── package-lock.json ├── package.json ├── public ├── assets │ └── fonts │ │ ├── SpaceGrotesk-Bold.woff │ │ ├── SpaceGrotesk-Bold.woff2 │ │ ├── SpaceGrotesk-Light.woff │ │ ├── SpaceGrotesk-Light.woff2 │ │ ├── SpaceGrotesk-Medium.woff │ │ ├── SpaceGrotesk-Medium.woff2 │ │ ├── SpaceGrotesk-Regular.woff │ │ ├── SpaceGrotesk-Regular.woff2 │ │ ├── SpaceGrotesk-SemiBold.woff │ │ └── SpaceGrotesk-SemiBold.woff2 ├── index.html ├── index.js └── main.css └── src ├── Encoder.js ├── EncoderProgress.js ├── createEncoder.js ├── index.html ├── index.js └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | bower_components 2 | node_modules 3 | *.log 4 | .DS_Store 5 | bundle.js 6 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | bower_components 2 | node_modules 3 | *.log 4 | .DS_Store 5 | bundle.js 6 | test 7 | test.js 8 | demo/ 9 | .npmignore 10 | LICENSE.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2017 Matt DesLauriers 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 20 | OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # giftool 2 | 3 | A simple, open-source GIF encoding website from a sequence of frames. 4 | 5 | Drag and drop files onto the site and it will encode them into a GIF. For best results, use numbered and zero-padded files, like `000.png`, `001.png`, `002.png`, etc. 6 | 7 | ## Clone & Run 8 | 9 | Clone this repo and use [npm](https://npmjs.com/) to install. 10 | 11 | ```sh 12 | npm install 13 | ``` 14 | 15 | To build, `npm run build` and look in the `public/` folder. To run locally, use `npm run start` and open [http://localhost:9966/](http://localhost:9966/). 16 | 17 | ## License 18 | 19 | MIT, see [LICENSE.md](http://github.com/mattdesl/giftool/blob/master/LICENSE.md) for details. 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "giftool", 3 | "version": "1.0.0", 4 | "description": "A website to encode a GIF from image frames", 5 | "main": "index.js", 6 | "license": "MIT", 7 | "author": { 8 | "name": "Matt DesLauriers", 9 | "email": "dave.des@gmail.com", 10 | "url": "https://github.com/mattdesl" 11 | }, 12 | "dependencies": { 13 | "drag-drop": "^4.2.0", 14 | "gif-encoder": "^0.7.1", 15 | "javascript-natural-sort": "^0.7.1", 16 | "load-img": "^1.0.0", 17 | "map-limit": "0.0.1", 18 | "preact": "^8.3.1", 19 | "stream-buffers": "^3.0.2" 20 | }, 21 | "devDependencies": { 22 | "bubleify": "^1.2.0", 23 | "canvas-sketch-cli": "^1.0.19", 24 | "surge": "^0.20.1" 25 | }, 26 | "browserify": { 27 | "transform": [ 28 | [ 29 | "bubleify", 30 | { 31 | "objectAssign": "Object.assign" 32 | } 33 | ] 34 | ] 35 | }, 36 | "scripts": { 37 | "upload": "surge -p public -d giftool.surge.sh", 38 | "deploy": "npm run build && npm run upload", 39 | "start": "canvas-sketch src/index.js --dir public --html src/index.html", 40 | "build": "canvas-sketch src/index.js --dir public --html src/index.html --build" 41 | }, 42 | "keywords": [ 43 | "gif", 44 | "make", 45 | "png", 46 | "frames", 47 | "video" 48 | ], 49 | "repository": { 50 | "type": "git", 51 | "url": "git://github.com/mattdesl/giftool.git" 52 | }, 53 | "homepage": "https://github.com/mattdesl/giftool", 54 | "bugs": { 55 | "url": "https://github.com/mattdesl/giftool/issues" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Bold.woff -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Bold.woff2 -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Light.woff -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Light.woff2 -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Medium.woff -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Medium.woff2 -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Regular.woff -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-Regular.woff2 -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-SemiBold.woff -------------------------------------------------------------------------------- /public/assets/fonts/SpaceGrotesk-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mattdesl/giftool/d378b5ee35a094fa971c55b105a0becc8510a7d6/public/assets/fonts/SpaceGrotesk-SemiBold.woff2 -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 |