• Stars
    star
    105
  • Rank 328,196 (Top 7 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easily generate animated GIFs from websites

logo

Easily generate animated GIFs from websites

Build Status Build status Greenkeeper badge Coverage Status node NPM Version

  • Easy πŸ‘‰ Just point it to a URL and get an animated GIF!
  • Cross-platform πŸ‘‰ Works on Windows, Mac, Linux, without Docker!
  • Headless πŸ‘‰ Uses GoogleChrome/puppeteer
  • Inspired πŸ‘‰ By asciicast2gif and wanting to make it easier to use

Installation

yarn global add webgif || npm i -g webgif

Usage

To navigate to https://giphy.com/search/lol and make an animated GIF of duration 10 seconds, execute:

webgif -u https://giphy.com/search/lol -d 10

Navigating to URL: https://giphy.com/search/lol
Taking screenshots: .............
Encoding GIF: /home/user/web.gif

Options

webgif -u URL -d DURATION [-o OUTFILE]

Options:
  --url, -u       URL to generate GIF from
                                       [default: "https://giphy.com/search/lol"]
  --duration, -d  GIF duration in seconds                          [default: 10]
  --output, -o    Output file name
                             [default: "web.gif"]
  -h, --help      Show help                                            [boolean]
  -V, --version   Show version number                                  [boolean]

Sample GIF

Sample GIF

How it works

  1. Use Puppeteer to launch a headless Chrome window
  2. Use setInterval to take screenshots and save them to disk
  3. Navigate to target URL and wait for specified duration
  4. Use gifencoder and png-file-stream to create animated GIF out of saved screenshots

See code: index.js

More Repositories

1

realworld-dynamodb-lambda

Ξ» serverless backend implementation for RealWorld using AWS DynamoDB + Lambda
JavaScript
240
star
2

integrify

🀝 Enforce referential and data integrity in Cloud Firestore using triggers
TypeScript
109
star
3

playwright-test-coverage

Extends Playwright test to measure code coverage
JavaScript
79
star
4

realworld-e2e-test

End-to-end testing for a RealWorld React/NodeJS stack using Mocha and Chrome Puppeteer
JavaScript
70
star
5

realworld-nuxt

Nuxt.js implementation of RealWorld Frontend
Vue
46
star
6

playwright-test-coverage-demo

Demonstrates usage of playwright-test-coverage - a Playwright extension that collects code coverage from running end-to-end tests
JavaScript
18
star
7

realworld-firebase-gcp-cloud-functions

A Firebase + GCP Cloud Functions backend implementation for RealWorld
JavaScript
7
star
8

puppeteer-on-cloud-functions

Run Chrome Puppeteer on Google Cloud Functions
JavaScript
6
star
9

docusaurus-base

Netlify template for Docusaurus
JavaScript
4
star
10

nodejs-in-matlab

Call Node.js from within MATLAB
MATLAB
4
star
11

realworld-gcp-datastore-cloud-functions

Serverless GCP Cloud Functions + Datastore implementation of RealWorld Backend
JavaScript
3
star
12

vuepress-base

Starter template for VuePress
3
star
13

dotnet-minimal-api-example

ASP.NET Minimal API Tutorial with Postman tests and code coverage
C#
3
star
14

circleci-test-drive

2
star
15

travis-build-history

JavaScript
2
star
16

deno-api-tests-coverage

Measure code coverage of a Deno server when running Postman (newman) API tests
TypeScript
1
star
17

netlify-edge-functions-test

TypeScript
1
star
18

realworld-jasonette

A Jasonette (Android/iOS) implementation of the RealWorld frontend
1
star
19

deno-test

JavaScript
1
star
20

vuepress-test

1
star
21

vercel-test

JavaScript
1
star
22

travis-ci-test-drive

JavaScript
1
star
23

vitepress-starter

Starter repo for VueJS Vitepress documentation generator
1
star
24

firestore-timestamps

JavaScript
1
star
25

udd-action-test

1
star
26

deno-hello

The simplest possible Deno module
Dockerfile
1
star
27

meticulous-test

TypeScript
1
star