diff --git a/src/utils/rasterize.js b/src/utils/rasterize.js index f917029..a6d4a9a 100644 --- a/src/utils/rasterize.js +++ b/src/utils/rasterize.js @@ -1,76 +1,84 @@ -/* - * decaffeinate suggestions: - * DS102: Remove unnecessary code created because of implicit returns - * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md - */ -// Exemplar script for generating documents with Phantom.js. -// https://raw.githubusercontent.com/ariya/phantomjs/master/examples/rasterize.js -// Converted to CoffeeScript by hacksalot - /* eslint-disable */ +(function() { + // Exemplar script for generating documents with Phantom.js. + // https://raw.githubusercontent.com/ariya/phantomjs/master/examples/rasterize.js + // Converted to CoffeeScript by hacksalot + "use strict"; + var address, output, page, pageHeight, pageWidth, size, system; -'use strict'; -let output, size; -const page = require('webpage').create(); -const system = require('system'); -let address = (output = (size = null)); + page = require('webpage').create(); -if ((system.args.length < 3) || (system.args.length > 5)) { + system = require('system'); - console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]'); - console.log(' paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"'); - console.log(' image (png/jpg output) examples: "1920px" entire page, window width 1920px'); - console.log(' "800px*600px" window, clipped to 800x600'); - phantom.exit(1); + address = output = size = null; -} else { - - address = system.args[1]; - output = system.args[2]; - page.viewportSize = {width: 600, height: 600}; - - if ((system.args.length > 3) && (system.args[2].substr(-4) === '.pdf')) { - - size = system.args[3].split('*'); - page.paperSize = - size.length === 2 ? {width: size[0], height: size[1], margin: '0px'} - : {format: system.args[3], orientation: 'portrait', margin: '1cm'}; - - } else if ((system.args.length > 3) && (system.args[3].substr(-2) === 'px')) { - let pageHeight, pageWidth; - size = system.args[3].split('*'); - if (size.length === 2) { - pageWidth = parseInt(size[0], 10); - pageHeight = parseInt(size[1], 10); - page.viewportSize = {width: pageWidth, height: pageHeight}; - page.clipRect = {top: 0, left: 0, width: pageWidth, height: pageHeight}; - } else { - // eslint-ignore-next-line no-console - console.log('size:', system.args[3]); - pageWidth = parseInt(system.args[3], 10); - pageHeight = parseInt((pageWidth * 3)/4, 10); // it's as good an assumption as any - // eslint-ignore-next-line no-console - console.log('pageHeight:', pageHeight); - page.viewportSize = {width: pageWidth, height: pageHeight}; - } - } - - if (system.args.length > 4) { - page.zoomFactor = system.args[4]; - } - - page.open(address, function(status) { - if (status !== 'success') { - console.log('Unable to load the address!'); - phantom.exit(1); - return; - } else { - return window.setTimeout(function() { - page.render(output); - phantom.exit(); + if (system.args.length < 3 || system.args.length > 5) { + console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]'); + console.log(' paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"'); + console.log(' image (png/jpg output) examples: "1920px" entire page, window width 1920px'); + console.log(' "800px*600px" window, clipped to 800x600'); + phantom.exit(1); + } else { + address = system.args[1]; + output = system.args[2]; + page.viewportSize = { + width: 600, + height: 600 + }; + if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") { + size = system.args[3].split('*'); + page.paperSize = size.length === 2 ? { + width: size[0], + height: size[1], + margin: '0px' + } : { + format: system.args[3], + orientation: 'portrait', + margin: '1cm' + }; + } else if (system.args.length > 3 && system.args[3].substr(-2) === "px") { + size = system.args[3].split('*'); + if (size.length === 2) { + pageWidth = parseInt(size[0], 10); + pageHeight = parseInt(size[1], 10); + page.viewportSize = { + width: pageWidth, + height: pageHeight + }; + page.clipRect = { + top: 0, + left: 0, + width: pageWidth, + height: pageHeight + }; + } else { + console.log("size:", system.args[3]); + pageWidth = parseInt(system.args[3], 10); + pageHeight = parseInt(pageWidth * 3 / 4, 10); // it's as good an assumption as any + console.log("pageHeight:", pageHeight); + page.viewportSize = { + width: pageWidth, + height: pageHeight + }; } - , 200); } - }); -} -/* esline-enable */ + if (system.args.length > 4) { + page.zoomFactor = system.args[4]; + } + page.open(address, function(status) { + if (status !== 'success') { + console.log('Unable to load the address!'); + phantom.exit(1); + } else { + return window.setTimeout(function() { + page.render(output); + phantom.exit(); + }, 200); + } + }); + } + +}).call(this); + +/* eslint-enable */ +//# sourceMappingURL=rasterize.js.map