Releases: tungs/timesnap
v0.2.0
Version 0.2.0 removes the time handling code from timesnap
and puts it into a separate package timeweb
.
It also adds issue and pull request templates.
Command Line
- Additional viewport options using the format
optionKey=value
, for instance--viewport="800,600,deviceScaleRatio=2"
- Using launch arguments
--force-device-scale-ratio
and--device-scale-ratio
(e.g.--launch-arguments="--force-device-scale-ratio=2"
) should now work, though it's advisable to just use deviceScaleRatio with the viewport above (see #40).
Node.js
- Adds
config.navigatePageToURL
to allow for custom navigation
core-v0.2.0
timesnap-core is a version of a timesnap that doesn't automatically bundle puppeteer as a dependency.
TBD
core-v0.1.4
timesnap-core is a version of a timesnap that doesn't automatically bundle puppeteer as a dependency. Instead it relies on the user to supply a config.launcher
function or a config.browser
object that returns or is a puppeteer/puppeteer like browser object.
v0.1.4
v0.1.3
Updates ESLint to version 6, and adds more configuration options for node.js:
node.js:
config.logger
- Allows for a custom logging function. The supplied function should be able to take the same arguments as
console.log
, though currently, it is only called with a single string argument.
- Allows for a custom logging function. The supplied function should be able to take the same arguments as
config.shouldSkipFrame
- A function that returns true if the current frame should be skipped. Useful for multiple instanced processing.
v0.1.2
timesnap now requires Node version 8.9.0 or higher (up from version 6.4.0 or higher).
Adds more configuration options:
Command Line
--remote-url
path- URL of remote Chromium/Chrome instance to connect using
puppeteer.connect()
.
- URL of remote Chromium/Chrome instance to connect using
--screenshot-type
type- Output image format for the screenshots. By default, the file extension is used to infer type, and failing that,
png
is used.jpeg
is also available.
- Output image format for the screenshots. By default, the file extension is used to infer type, and failing that,
--screenshot-quality
quality- Not applicable to pngs. Quality level between 0 to 1 for lossy screenshots. Defaults to 0.92 when in canvas capture mode and 0.8 otherwise.
node.js:
config.remoteUrl
- URL of remote Chromium/Chrome instance to connect using
puppeteer.connect()
.
- URL of remote Chromium/Chrome instance to connect using
config.screenshotType
- Output image format for the screenshots. By default, the file extension is used to infer type, and failing that,
png
is used.jpeg
is also available.
- Output image format for the screenshots. By default, the file extension is used to infer type, and failing that,
config.screenshotQuality
- Not applicable to pngs. Quality level between 0 to 1 for lossy screenshots. Defaults to 0.92 when in canvas capture mode and 0.8 otherwise.
v0.1.1
This version adds preliminary support for video playback as either elements in the webpage or as images drawn to canvases.
Note that the default version of timesnap and puppeteer installs Chromium, which does not have proprietary video formats included (e.g. .mp4
with h.264
encoding). You can use Chrome which can play those formats in timesnap by using the --executable-path
or config.executablePath
option to specify the path to an installed version of Chrome.
v0.1.0
This version changes the way that requestAnimationFrame
operates, running its callbacks in relation to capturing images instead of running them at a fixed rate. See #10 and #17 for more information.
--canvas-mode
is renamed to--canvas-capture-mode
config.canvasMode
is renamed toconfig.canvasCaptureMode
.
The algorithm to iterating through time has been rewritten to accommodate future features.
v0.0.6
Code is now split into separate files, instead of all being in index.js
- Adds canvas capture mode, an experimental mode for transferring data directly from the canvas element, via the
--canvas-mode
command line option, or viaconfig.canvasMode
for Node.js - Outputs the elapsed capture time, calculated from just before capturing frames begins to after it ends
- Removed the minimum 60fps call rate for requestAnimationFrame calls
v0.0.5
Adds a package-lock.json
file. Also adds more configuration options
Command Line
--executable-path
path specifies which Chromium/Chrome executable to use--no-headless
runs Chromium/Chrome with a display (not headless)
node.js:
config.executablePath
specifies which Chromium/Chrome executable to useconfig.headless
runs Chromium/Chrome in headless mode (default:true
)config.preparePage
a function to run after a page is loaded, but before screenshots beginconfig.preparePageForScreenshot
a function to run before each screenshot