Commit Graph

115 Commits

Author SHA1 Message Date
Antonin Stefanutti
0a227884f2 Polish slides range parsing 2017-08-31 23:16:03 +02:00
Antonin Stefanutti
f6e5797c15 Upgrade Puppeteer to version 0.10.1 2017-08-29 11:29:43 +02:00
Antonin Stefanutti
90f1b56e34 Init PDF metadata 2017-08-25 17:49:39 +02:00
Antonin Stefanutti
27cc94447f Polish 2017-08-25 15:18:08 +02:00
Antonin Stefanutti
18d9de533c Abilitity to pass Puppeteer executablePath option from CLI 2017-08-25 15:18:08 +02:00
Antonin Stefanutti
719f31557c Update Dockerfile to use Puppeteer / headless Chrome 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
2face0fd86 Migrate screenshooting to Puppeteer API 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
c58388c8dd Polish slides range support 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
310b8a7d41 More async / await 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
b8fed571e3 Migrate page events to Puppeteer API 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
999523aafd Add version command 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
b5fc32c207 Migrate to ES6 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
c0d8df443a Load plugins relative to decktape module directory 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
807513b84b Use dependencies from NPM 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
820176b217 Migrate to ES6 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
11d0e6ac26 Fixup page configuration 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
23d832a70f Convert to linefeed only 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
6f5607f083 Add missing shebang 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
3d6b5afeff Manipulate CSS rules to force screen CSS media type 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
ee7559cb48 Initial migration to Puppeteer 2017-08-25 15:18:07 +02:00
Antonin Stefanutti
41861c135a Fix parsing of slide number option with more than one digit 2017-04-25 10:09:12 +02:00
Antonin Stefanutti
9b6fb45dc3 Switch to RSVP.js based ES6 Promise polyfill 2016-06-05 22:38:34 +02:00
Antonin Stefanutti
0ccf6690a2 Add onError callback 2016-06-05 22:38:33 +02:00
Antonin Stefanutti
dfc4b77286 Better promise-based control flow 2016-05-16 20:54:10 +02:00
Antonin Stefanutti
5222c9837a Promise-based Web page open callback 2016-05-12 14:55:40 +02:00
Antonin Stefanutti
6d8153a568 Specify option type for sizes 2016-05-02 12:28:12 +02:00
Antonin Stefanutti
922138d49f Refactor slides range option support 2016-05-02 12:05:38 +02:00
Jesse Anderson
4fe6c7cd01 Added a way to specify a range of pages to print. 2016-05-01 14:58:54 +02:00
Antonin Stefanutti
455d48fb44 Support Promise as return type for the plugin configure API 2016-04-14 11:52:35 +02:00
Antonin Stefanutti
33d9564d20 Format CLI options 2016-04-14 09:39:36 +02:00
Antonin Stefanutti
4d3fed0acf Document --load-pause option, add metavars and polish 2016-03-29 09:55:28 +02:00
Jesse Anderson
27890ea897 Ability to pause between page load and starting to print slides 2016-03-23 12:36:31 +01:00
Antonin Stefanutti
282a07cefb Refactoring main script 2016-02-22 11:18:02 +01:00
Antonin Stefanutti
5a55ec24f2 Use single quoted strings 2016-02-22 10:43:33 +01:00
Dan Allen
4609fc4bd7 allow plugins to inform decktape of slide size if not specified 2016-02-21 05:01:54 -07:00
Antonin Stefanutti
4cbedc5945 Code formatting 2015-08-09 18:02:49 +02:00
Antonin Stefanutti
8292f2b131 Delay function returns a Promises/A+ compliant onFulfilled callback 2015-08-09 17:33:50 +02:00
astefanutti
5ac2f983c9 Use the unified onlyViewport option between PhantomJS and SlimerJS for the screenshots export 2015-08-06 17:31:06 +02:00
Antonin Stefanutti
e2bb2c93c3 Colorized CLI with Chalk
Activates CLI string styling with Chalk except on Windows OS.
Adds the libs directory to the require paths for seamless referencing
of require libraries.
2015-08-02 23:01:32 +02:00
astefanutti
ce2f851c4b Use dot notation to access screenshot options 2015-07-21 18:24:18 +02:00
astefanutti
dd6065620a Add short options for size and pause 2015-07-21 17:16:19 +02:00
astefanutti
56c4ecf158 Update usage with options before positional arguments 2015-07-21 16:36:34 +02:00
astefanutti
1c9608d00d Render screenshots by capturing the viewport instead of the page content
Uses the new 'mode' option from the PhantomJS render API so that
screenshots get captured based on the viewport size definition and not the
content size. Indeed, some HTML presentation frameworks use the position
and transform CSS properties that leads to having the visible content
larger than the viewport.

Increases the delay for the resize event to complete.
2015-07-21 12:28:41 +02:00
astefanutti
9b8bed6910 Add the screenshots-size option to set captured image resolutions
Changes the screenshots-scale in favor of the screenshots-size option
which is more flexible.
Promise-based viewportSize setting to support frameworks that rely on the
onresize event.
Removes the gif choice for image format as it's not working.
Documents the --screenshots option.
2015-07-16 15:10:28 +02:00
astefanutti
e7b6eb2711 Update CLI options help 2015-07-15 18:34:10 +02:00
astefanutti
ea977f61a8 Add an option to export each slide as an image
Fixes #9.
Adds the --screenshots, --screenshots-directory, --screenshots-scale and
--screenshots-format options.
If the --screenshots flag option is set, each slide is exported as an
image, whose format is --screenshots-format,  written in the
--screenshots-directory, and this for each --screenshots-scale.
Changes the viewport size option to follow the <width>x<height> notation.
2015-07-15 18:19:49 +02:00
Rick Lupton
7aa0fb0cff Look for plugins relative to decktape.js script
Otherwise you have to run it from the installation directory.
2015-07-15 14:02:58 +02:00
Antonin Stefanutti
513cf2c8e2 Plugins loading function uses reduce instead of forEach 2015-07-09 20:19:36 +02:00
astefanutti
2f5987ba5d Better help messages for the automatic and generic commands 2015-07-09 15:07:55 +02:00
astefanutti
591e14155b Add generic plugin to support any kind of presentation frameworks
The generic plugin emulates the end-user interaction by pressing the
specified key [--keycode] and iterating over the presentation as long as
any change to the DOM is detected by observing mutation events to the body
element and its subtree.

To support the generic plugin feature, the following enhancements are
introduced:
- Move to promises based navigation scheduling
- Build CLI commands directly from available plugins
- Enable per plugin CLI help and options
- Enable by-command overriding of the selected plugin
2015-07-08 17:41:40 +02:00
Antonin Stefanutti
ccfe36cf5a Add impress.js plugin 2015-06-29 23:05:16 +02:00
astefanutti
d48327b916 Improve reveal.js plugin detection message for reveal.js version < 2.3.0 2015-06-03 11:14:04 +02:00
astefanutti
035da9a427 Add pause duration option before slide is exported 2015-06-02 12:01:34 +02:00
Antonin Stefanutti
2e558c0756 Log slide id as slide index instead of (h,v,f) coordinates in reveal.js plugin
Manage slide index overflowing
2015-06-02 01:00:17 +02:00
Antonin Stefanutti
fd27d19aba Support reveal.js version < 3.0.0 and plugins that do not support total slides count 2015-06-01 23:38:45 +02:00
Antonin Stefanutti
973805eccd Fix reveal.js plugin current slide index 2015-05-29 13:56:59 +02:00
Antonin Stefanutti
047bc2cfeb Slides framework plugin auto-detection 2015-05-29 13:22:00 +02:00
Antonin Stefanutti
e08409b48d Add reveal.js plugin 2015-05-28 23:35:06 +02:00
Antonin Stefanutti
87c42ac983 Add default PhantomJS configuration 2015-05-28 22:53:01 +02:00
Antonin Stefanutti
79a476688c Add slides loading page logging callbacks 2015-05-28 17:22:44 +02:00
Antonin Stefanutti
e271a3134e Setup plugins insfrastructure 2015-05-28 16:38:43 +02:00
Antonin Stefanutti
d70689bbc2 CLI based decktape options and configuration 2015-05-26 15:56:34 +02:00
Antonin Stefanutti
02f2789c97 Progress bar initial draft implementation 2015-05-25 18:41:26 +02:00
Antonin Stefanutti
81cdf5b27f Add fragments support for DZSlides backend 2015-05-25 18:39:19 +02:00
Antonin Stefanutti
fdc26832fd Fix last slide duplicate printing 2015-05-12 22:31:34 +02:00