pageres alternatives and similar modules
Based on the "Command Line Apps" category.
Alternatively, view pageres alternatives based on common mentions on social networks and blogs.
-
Standard
🌟 JavaScript Style Guide, with linter & automatic code fixer -
ignite
Infinite Red's battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! -
Live Server
A simple development http server with live reload capability. -
speed-test
Test your internet connection speed and ping using speedtest.net from the CLI -
rtail
rtail(1) - Terminal output to the browser in seconds, using UNIX pipes. -
David
:eyeglasses: Node.js module that tells you when your package npm dependencies are out of date. -
diff2html-cli
Pretty diff to html javascript cli (diff2html-cli) -
Whatspup
:white_square_button: WhatsApp chat from commandline/console/cli using GoogleChrome puppeteer -
pjs
Pipeable javascript. Quickly filter, map, and reduce from the terminal -
kill-tabs
Kill all Chrome tabs to improve performance, decrease battery usage, and save memory -
tty-table
Terminal table for Windows, Linux, and MacOS. Written in nodejs. Also works in browser console. Word wrap, padding, alignment, colors, Asian character support, per-column callbacks, and you can pass rows as objects or arrays. Backwards compatible with Automattic/cli-table. -
normit
Translations with speech synthesis in your terminal as a node package -
npm-name
Check whether a package or organization name is available on npm
Amplication: open-source Node.js backend code generator
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pageres or a related project?
Popular Comparisons
README
[pageres](media/promo.png)
Capture screenshots of websites in various resolutions. A good way to make sure your websites are responsive. It's speedy and generates 100 screenshots from 10 different websites in just over a minute. It can also be used to render SVG images.
See pageres-cli for the command-line tool.
Install
$ npm install pageres
Note to Linux users: If you get a "No usable sandbox!" error, you need to enable system sandboxing.
Usage
const Pageres = require('pageres');
(async () => {
await new Pageres({delay: 2})
.src('https://github.com/sindresorhus/pageres', ['480x320', '1024x768', 'iphone 5s'], {crop: true})
.src('https://sindresorhus.com', ['1280x1024', '1920x1080'])
.src('data:text/html,<h1>Awesome!</h1>', ['1024x768'])
.dest(__dirname)
.run();
console.log('Finished generating screenshots!');
})();
API
Pageres(options?)
options
Type: object
delay
Type: number
(Seconds)\
Default: 0
Delay capturing the screenshot.
Useful when the site does things after load that you want to capture.
timeout
Type: number
(Seconds)\
Default: 60
Number of seconds after which the request is aborted.
crop
Type: boolean
\
Default: false
Crop to the set height.
css
Type: string
Apply custom CSS to the webpage. Specify some CSS or the path to a CSS file.
script
Type: string
Apply custom JavaScript to the webpage. Specify some JavaScript or the path to a file.
cookies
Type: Array<string | object>
A string with the same format as a browser cookie or an object.
Tip: Go to the website you want a cookie for and copy-paste it from DevTools.
filename
Type: string
\
Default: '<%= url %>-<%= size %><%= crop %>'
Define a customized filename using Lo-Dash templates.\
For example: <%= date %> - <%= url %>-<%= size %><%= crop %>
.
Available variables:
url
: The URL in slugified form, eg.http://yeoman.io/blog/
becomesyeoman.io!blog
size
: Specified size, eg.1024x1000
width
: Width of the specified size, eg.1024
height
: Height of the specified size, eg.1000
crop
: Outputs-cropped
when the crop option is truedate
: The current date (YYYY-MM-DD), eg. 2015-05-18time
: The current time (HH-mm-ss), eg. 21-15-11
incrementalName
Type: boolean
\
Default: false
When a file exists, append an incremental number.
selector
Type: string
Capture a specific DOM element matching a CSS selector.
hide
Type: string[]
Hide an array of DOM elements matching CSS selectors.
username
Type: string
Username for authenticating with HTTP auth.
password
Type: string
Password for authenticating with HTTP auth.
scale
Type: number
\
Default: 1
Scale webpage n
times.
format
Type: string
\
Default: png
\
Values: 'png' | 'jpg'
Image format.
userAgent
Type: string
Custom user agent.
headers
Type: object
Custom HTTP request headers.
transparent
Type: boolean
\
Default: false
Set background color to transparent
instead of white
if no background is set.
darkMode
Type: boolean
\
Default: false
Emulate preference of dark color scheme.
launchOptions
Type: object
\
Default: {}
Options passed to puppeteer.launch()
.
beforeScreenshot
Type: Function
The specified function is called right before the screenshot is captured, as well as before any bounding rectangle is calculated as part of options.element
. It receives the Puppeteer Page
instance as the first argument and the browser
instance as the second argument. This gives you a lot of power to do custom stuff. The function can be async.
Note: Make sure to not call page.close()
or browser.close()
.
const Pageres = require('pageres');
(async () => {
await new Pageres({
delay: 2,
beforeScreenshot: async (page, browser) => {
await checkSomething();
await page.click('#activate-button');
await page.waitForSelector('.finished');
}
})
.src('https://github.com/sindresorhus/pageres', ['480x320', '1024x768', 'iphone 5s'], {crop: true})
.dest(__dirname)
.run();
console.log('Finished generating screenshots!');
})();
pageres.src(url, sizes, options?)
Add a page to screenshot.
url
Required\
Type: string
URL or local path to the website you want to screenshot. You can also use a data URI.
sizes
Required\
Type: string[]
Use a <width>x<height>
notation or a keyword.
A keyword is a version of a device from this list.
You can also pass in the w3counter
keyword to use the ten most popular resolutions from w3counter.
options
Type: object
Options set here will take precedence over the ones set in the constructor.
pageres.dest(directory)
Set the destination directory.
directory
Type: string
pageres.run()
Run pageres. Returns Promise<Buffer[]>
.
Task runners
Check out grunt-pageres if you're using Grunt.
For Gulp and Broccoli, just use the API directly. No need for a wrapper plugin.
Built with Pageres
- Break Shot - Desktop app for capturing screenshots of responsive websites.
Related
- capture-website - A different take on screenshotting websites