Comparing version 1.0.7 to 1.1.0
44
index.js
@@ -37,27 +37,31 @@ #!/usr/bin/env node | ||
console.log(`Navigating to URL: ${argv.url}`); | ||
await page.goto(argv.url); | ||
process.stdout.write('Taking screenshots: .'); | ||
const screenshotPromises = []; | ||
screenshotTaker = setInterval(async () => { | ||
if (page) { | ||
filename = `${workdir}/T${new Date().getTime()}.png`; | ||
process.stdout.write('.'); | ||
screenshotPromises.push(page.screenshot({ path: filename, })); | ||
} | ||
}, 1000); | ||
for (let i = 1; i <= argv.duration; ++i) { | ||
filename = `${workdir}/T${new Date().getTime()}.png`; | ||
process.stdout.write('.'); | ||
screenshotPromises.push(page.screenshot({ path: filename, })); | ||
await delay(1000); | ||
} | ||
await page.goto(argv.url); | ||
setTimeout(async () => { | ||
clearInterval(screenshotTaker); | ||
await Promise.all(screenshotPromises); | ||
await page.close(); | ||
await browser.close(); | ||
console.log(`\nEncoding GIF: ${argv.output}`); | ||
const encoder = new GIFEncoder(1024, 768); | ||
await pngFileStream(`${workdir}/T*png`) | ||
.pipe(encoder.createWriteStream({ repeat: 0, delay: 200, quality: 20 })) | ||
.pipe(fs.createWriteStream(`${argv.output}`)); | ||
}, argv.duration * 1000) | ||
await delay(1000); | ||
await Promise.all(screenshotPromises); | ||
console.log(`\nEncoding GIF: ${argv.output}`); | ||
const encoder = new GIFEncoder(1024, 768); | ||
await pngFileStream(`${workdir}/T*png`) | ||
.pipe(encoder.createWriteStream({ repeat: 0, delay: 200, quality: 20 })) | ||
.pipe(fs.createWriteStream(`${argv.output}`)); | ||
await page.close(); | ||
await browser.close(); | ||
})(); | ||
process.on('unhandledRejection', function(reason, p) {}); | ||
process.on('unhandledRejection', function(reason, p) { | ||
throw new Error(reason); | ||
}); | ||
function delay(ms) { | ||
return new Promise((resolve) => setTimeout(resolve, ms)); | ||
} |
{ | ||
"name": "webgif", | ||
"version": "1.0.7", | ||
"version": "1.1.0", | ||
"description": "Easily generate animated GIFs from websites", | ||
@@ -11,3 +11,3 @@ "main": "index.js", | ||
"test": "mocha", | ||
"website": "mkdir website; (cat header.html; showdown makehtml -m -i README.md) > website/index.html" | ||
"website": "mkdir -p website; (cat header.html; showdown makehtml -m -i README.md) > website/index.html" | ||
}, | ||
@@ -40,3 +40,3 @@ "engines": { | ||
"devDependencies": { | ||
"mocha": "^5.0.5", | ||
"mocha": "^5.2.0", | ||
"shelljs": "^0.8.1", | ||
@@ -43,0 +43,0 @@ "showdown": "^1.8.6" |
@@ -1,2 +0,2 @@ | ||
<p align="center"><img src="https://rawgit.com/anishkny/webgif/master/logo.svg"></p> | ||
<p align="center"><img alt="logo" src="https://rawgit.com/anishkny/webgif/master/logo.svg"></p> | ||
@@ -3,0 +3,0 @@ ## *Easily generate animated GIFs from websites* |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
77
11474
10