Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Dynamic Social Sharing Images
const puppeteer = require('puppeteer');
const imagemin = require('imagemin');
const imageminPngquant = require('imagemin-pngquant');
// Get the URL and the slug segment from it
const url = process.argv[2];
const segments = url.split('/');
const slug = segments[segments.length-2];
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url + 'sharing');
await page.setViewport({
width: 600,
height: 315,
deviceScaleFactor: 2
});
await page.screenshot({path: slug + '.png'});
await browser.close();
await imagemin([slug + '.png'], 'build', {
plugins: [
imageminPngquant({quality: '75-90'})
]
});
})();
@niladam

This comment has been minimized.

Copy link

commented Jan 4, 2019

Thank you for sharing this. I was looking on building something similar and i might be able to automate this somehow.

I'll get back to you if I do.

Justa sidenote for people reaching this without having read the article, the article's link is https://24ways.org/2018/dynamic-social-sharing-images/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.