feat(core): new option to add watermarks to the gallery

Watermarks only apply to large images, not thumbnails.
pull/107/head
Romain 6 years ago
parent b761353691
commit 36d935a787

@ -84,6 +84,8 @@ Output options:
--cleanup Remove any output file that's no longer needed [boolean] [default: false]
--concurrency Number of parallel parsing/processing operations [number] [default: 4]
--gm-args Custom image processing arguments for GraphicsMagick [array]
--watermark Path to a transparent PNG to be overlaid on all images [string]
--watermark-position Position of the watermark [choices: "Repeat", "Center", "NorthWest", "North", "NorthEast", "West", "East", "SouthWest", "South", "SouthEast"]
Album options:
--albums-from How files are grouped into albums [array] [default: ["%path"]]

@ -78,6 +78,19 @@ const OPTIONS = {
description: 'Custom image processing arguments for GraphicsMagick',
type: 'array'
},
'watermark': {
group: 'Output options:',
description: 'Path to a transparent PNG to be overlaid on all images',
type: 'string'
},
'watermark-position': {
group: 'Output options:',
description: 'Position of the watermark',
choices: [
'Repeat', 'Center', 'NorthWest', 'North', 'NorthEast',
'West', 'East', 'SouthWest', 'South', 'SouthEast'
]
},
// ------------------------------------
// Album options
@ -269,7 +282,9 @@ exports.get = (args) => {
log: opts['log'],
dryRun: opts['dry-run'],
concurrency: opts['concurrency'],
gmArgs: opts['gm-args']
gmArgs: opts['gm-args'],
watermark: opts['watermark'],
watermarkPosition: opts['watermark-position']
}
}

110
package-lock.json generated

@ -7,7 +7,7 @@
"@samverschueren/stream-to-observable": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
"integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==",
"integrity": "sha1-7N9I1TLFjqR3rPyrgDSEJPjQZi8=",
"requires": {
"any-observable": "0.3.0"
},
@ -311,7 +311,7 @@
"better-sqlite3": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-4.1.0.tgz",
"integrity": "sha512-IYcH1F14DfdIzDzSg7TF+0b+GpYmf6UFgV0ZWsaaczy548/S5LFMkYeKHl8EAOQQb1mSHt0lkJA0BGHMRwGOcg==",
"integrity": "sha1-HbsLE7KAzh7r661DFQLesIt4lB4=",
"requires": {
"bindings": "1.3.0",
"integer": "1.0.3",
@ -432,7 +432,7 @@
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
"requires": {
"ansi-styles": "3.2.1",
"escape-string-regexp": "1.0.5",
@ -647,7 +647,7 @@
"conf": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/conf/-/conf-1.4.0.tgz",
"integrity": "sha512-bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==",
"integrity": "sha1-HqZsnXqbYBZ0pbudK43DxyZiXmc=",
"requires": {
"dot-prop": "4.2.0",
"env-paths": "1.0.0",
@ -871,7 +871,7 @@
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
"integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
"requires": {
"is-obj": "1.0.1"
}
@ -1008,7 +1008,7 @@
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
@ -1043,7 +1043,7 @@
"eslint-visitor-keys": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
"integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
"integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=",
"dev": true
},
"espree": {
@ -1259,7 +1259,7 @@
"external-editor": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=",
"requires": {
"chardet": "0.4.2",
"iconv-lite": "0.4.23",
@ -1416,7 +1416,7 @@
"fs-extra": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
"integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
"integrity": "sha1-irwSj3lG4xATXdyTuYvdtBDno0s=",
"requires": {
"graceful-fs": "4.1.11",
"jsonfile": "4.0.0",
@ -1665,7 +1665,7 @@
"hosted-git-info": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
"integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
"integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=",
"dev": true
},
"http-signature": {
@ -1681,7 +1681,7 @@
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"integrity": "sha1-KXhx9jvlB63Pv8pxXQzQ7thOmmM=",
"requires": {
"safer-buffer": "2.1.2"
}
@ -1761,7 +1761,7 @@
"insight": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/insight/-/insight-0.10.1.tgz",
"integrity": "sha512-kLGeYQkh18f8KuC68QKdi0iwUcIaayJVB/STpX7x452/7pAUm1yfG4giJwcxbrTh0zNYtc8kBR+6maLMOzglOQ==",
"integrity": "sha1-oOz2aEhKldZum+WWRJZOcZzIM4A=",
"requires": {
"async": "2.6.0",
"chalk": "2.4.1",
@ -1959,7 +1959,7 @@
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
"integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0="
}
}
},
@ -2076,7 +2076,7 @@
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
"integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
},
"isarray": {
"version": "1.0.0",
@ -2177,7 +2177,7 @@
"esprima": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
"integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
"dev": true
}
}
@ -2258,7 +2258,7 @@
"less": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/less/-/less-3.0.4.tgz",
"integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==",
"integrity": "sha1-0n3O26yWAxyee3bx2h5LfYN2CBQ=",
"requires": {
"errno": "0.1.4",
"graceful-fs": "4.1.11",
@ -2273,7 +2273,7 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"optional": true
}
}
@ -2322,7 +2322,7 @@
"listr": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/listr/-/listr-0.14.1.tgz",
"integrity": "sha512-MSMUUVN1f8aRnPi4034RkOqdiUlpYW+FqwFE3aL0uYNPRavkt2S2SsSpDDofn8BDpqv2RNnsdOcCHWsChcq77A==",
"integrity": "sha1-inr6SnE1zuTJIdEo4LffxuUi1D0=",
"requires": {
"@samverschueren/stream-to-observable": "0.3.0",
"cli-truncate": "0.2.1",
@ -2353,7 +2353,7 @@
"rxjs": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.1.0.tgz",
"integrity": "sha512-lMZdl6xbHJCSb5lmnb6nOhsoBVCyoDC5LDJQK9WWyq+tsI7KnlDIZ0r0AZAlBpRPLbwQA9kzSBAZwNIZEZ+hcw==",
"integrity": "sha1-gzRH3k5PZCe5zsPl659WQVzSgxU=",
"requires": {
"tslib": "1.9.1"
}
@ -2459,7 +2459,7 @@
"zen-observable": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.6.1.tgz",
"integrity": "sha512-DKjFTL7siVLIUMZOFZ0alqMEdTsXPUxoCZzrvB2tdWEVN/6606Qh1nCfSTCAOZMrtcPzzFI3BXmwBKLAew52NA=="
"integrity": "sha1-AdvtO8jQLL6e4REsg+BMgH9kckQ="
}
}
},
@ -2487,7 +2487,7 @@
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
"integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc="
},
"log-symbols": {
"version": "1.0.2",
@ -2561,12 +2561,12 @@
"macos-release": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz",
"integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA=="
"integrity": "sha1-gxlF4pNltHCqhySwqzbI+JWdEPs="
},
"make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
"requires": {
"pify": "3.0.0"
},
@ -2650,7 +2650,7 @@
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
"requires": {
"arr-diff": "4.0.0",
"array-unique": "0.3.2",
@ -2797,7 +2797,7 @@
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
"integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE="
},
"nanomatch": {
"version": "1.2.9",
@ -2915,7 +2915,7 @@
"mocha": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz",
"integrity": "sha512-kKKs/H1KrMMQIEsWNxGmb4/BGsmj0dkeyotEvbrAuQ01FcWRLssUNXCEUZk6SZtyJBi6EE7SL0zDDtItw1rGhw==",
"integrity": "sha1-t3THVgnawF60j02bodgnuX/eins=",
"dev": true,
"requires": {
"browser-stdout": "1.3.1",
@ -2946,7 +2946,7 @@
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
@ -2966,7 +2966,7 @@
"supports-color": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
"integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=",
"dev": true,
"requires": {
"has-flag": "2.0.0"
@ -2977,13 +2977,13 @@
"mock-fs": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.5.0.tgz",
"integrity": "sha512-qqudNfOX7ZmX9vm1WIAU+gWlmxVNAnwY6UG3RkFutNywmRCUGP83tujP6IxX2DS1TmcaEZBOhYwDuYEmJYE+3w==",
"integrity": "sha1-dSRblm9+Pe/hl7A0VK+cWzVVlLc=",
"dev": true
},
"moment": {
"version": "2.22.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz",
"integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ=="
"integrity": "sha1-Upoum/lz8lnJZD0jf9qE3jom6K0="
},
"ms": {
"version": "2.0.0",
@ -2999,7 +2999,7 @@
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
"integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=",
"dev": true,
"requires": {
"encoding": "0.1.12",
@ -3018,7 +3018,7 @@
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
"dev": true,
"requires": {
"hosted-git-info": "2.6.0",
@ -3404,7 +3404,7 @@
"prop-types": {
"version": "15.6.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
"integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==",
"integrity": "sha1-NmREU1ZCVd3aORGR+zoSXL32VMo=",
"dev": true,
"requires": {
"fbjs": "0.8.16",
@ -3522,7 +3522,7 @@
"readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
"integrity": "sha512-HQxsuqoUPZ5c/jezbayF2k5KW9r2+ma3rowEAhy4mED4Ec0QmlLQbhn/9zKQIAUpOHbtFAD08dql/5HxgPtWEg==",
"integrity": "sha1-vUo7SoWm8lNyRXWUeInbPNdqvzQ=",
"requires": {
"call-me-maybe": "1.0.1",
"glob-to-regexp": "0.4.0"
@ -3695,7 +3695,7 @@
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
"integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
},
"right-align": {
"version": "0.1.3",
@ -3799,7 +3799,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
},
"semver": {
"version": "5.4.1",
@ -3852,7 +3852,7 @@
"should": {
"version": "13.2.1",
"resolved": "https://registry.npmjs.org/should/-/should-13.2.1.tgz",
"integrity": "sha512-l+/NwEMO+DcstsHEwPHRHzC9j4UOE3VQwJGcMWSsD/vqpqHbnQ+1iSHy64Ihmmjx1uiRPD9pFadTSc3MJtXAgw==",
"integrity": "sha1-hObr+7FFx54K5CMHsls/YtyvV04=",
"dev": true,
"requires": {
"should-equal": "2.0.0",
@ -3931,7 +3931,7 @@
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"requires": {
"ms": "2.0.0"
}
@ -4020,7 +4020,7 @@
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
"dev": true,
"requires": {
"spdx-expression-parse": "3.0.0",
@ -4030,13 +4030,13 @@
"spdx-exceptions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
"integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
"integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=",
"dev": true
},
"spdx-expression-parse": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
"dev": true,
"requires": {
"spdx-exceptions": "2.1.0",
@ -4046,7 +4046,7 @@
"spdx-license-ids": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
"integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=",
"dev": true
},
"split": {
@ -4116,7 +4116,7 @@
"standard": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/standard/-/standard-11.0.1.tgz",
"integrity": "sha512-nu0jAcHiSc8H+gJCXeiziMVZNDYi8MuqrYJKxTgjP4xKXZMKm311boqQIzDrYI/ktosltxt2CbDjYQs9ANC8IA==",
"integrity": "sha1-Sb5Ax28dVklksiu/cwmSmtAzXik=",
"dev": true,
"requires": {
"eslint": "4.18.2",
@ -4642,9 +4642,9 @@
}
},
"thumbsup-downsize": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/thumbsup-downsize/-/thumbsup-downsize-1.3.0.tgz",
"integrity": "sha1-vz3Yf0A12kuFXqgEHmqnVE5t3b4=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/thumbsup-downsize/-/thumbsup-downsize-2.0.0.tgz",
"integrity": "sha1-RCB/X9nIJXvhdiUpseStD6jaOhA=",
"requires": {
"async": "2.6.0",
"debug": "3.1.0",
@ -4666,7 +4666,7 @@
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
"requires": {
"os-tmpdir": "1.0.2"
}
@ -4751,7 +4751,7 @@
"tslib": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.1.tgz",
"integrity": "sha512-avfPS28HmGLLc2o4elcc2EIq2FcH++Yo5YxpBZi9Yw93BCTGFthI4HPE4Rpep6vSYQaK8e69PelM44tPj+RaQg=="
"integrity": "sha1-pdHwUypJIhyHdVz8yJyjcZckK6c="
},
"tsml": {
"version": "1.0.1",
@ -4790,7 +4790,7 @@
"ua-parser-js": {
"version": "0.7.18",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
"integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==",
"integrity": "sha1-p7/ZL1bt+xFwg7aeMdKqiILUse0=",
"dev": true
},
"uglify-js": {
@ -4979,7 +4979,7 @@
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=",
"dev": true,
"requires": {
"spdx-correct": "3.0.0",
@ -4999,7 +4999,7 @@
"video.js": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/video.js/-/video.js-6.9.0.tgz",
"integrity": "sha512-54s7ZZKiY8dTMxBM6IkGMUeG0Yjq8RfyOn7bdU88nL6eWw1I+zLPY4fUVEFwGtxNAzZxGj7VVhVsCM/38QM9GA==",
"integrity": "sha1-itT7yNc4C2DHA/CngLwheWpWZs8=",
"requires": {
"babel-runtime": "6.26.0",
"global": "4.3.2",
@ -5037,7 +5037,7 @@
"whatwg-fetch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
"integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==",
"integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8=",
"dev": true
},
"which": {
@ -5125,7 +5125,7 @@
"yargs": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
"integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
"integrity": "sha1-wFKTEAbF7udGEOX8A1S+39CKIBs=",
"requires": {
"cliui": "4.1.0",
"decamelize": "1.2.0",
@ -5154,7 +5154,7 @@
"cliui": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
"integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
"integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=",
"requires": {
"string-width": "2.1.1",
"strip-ansi": "4.0.0",
@ -5196,7 +5196,7 @@
"zen-observable": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.8.tgz",
"integrity": "sha512-HnhhyNnwTFzS48nihkCZIJGsWGFcYUz+XPDlPK5W84Ifji8SksC6m7sQWOf8zdCGhzQ4tDYuMYGu5B0N1dXTtg=="
"integrity": "sha1-Hqk5lb8Jh1SlghWh4KcwnldJ7EI="
}
}
}

@ -49,7 +49,7 @@
"moment": "^2.22.1",
"readdir-enhanced": "^2.2.1",
"through2": "^2.0.3",
"thumbsup-downsize": "^1.3.0",
"thumbsup-downsize": "^2.0.0",
"url-join": "^4.0.0",
"video.js": "^6.9.0",
"yargs": "^11.0.0",

@ -89,14 +89,24 @@ function modifiedDate (filepath) {
}
function getActionMap (opts) {
const thumbSize = opts.thumbSize || 120
const largeSize = opts.largeSize || 1000
const defaultOptions = {
quality: opts.photoQuality,
args: opts.gmArgs
}
const thumbSize = opts.thumbSize || 120
const largeSize = opts.largeSize || 1000
const thumbnail = Object.assign({}, defaultOptions, {height: thumbSize, width: thumbSize})
const large = Object.assign({}, defaultOptions, {height: largeSize})
const watermark = (!opts.watermark) ? null : {
file: opts.watermark,
position: opts.watermarkPosition
}
const thumbnail = Object.assign({}, defaultOptions, {
height: thumbSize,
width: thumbSize
})
const large = Object.assign({}, defaultOptions, {
height: largeSize,
watermark: watermark
})
return {
'fs:copy': (task, done) => fs.copy(task.src, task.dest, done),
'fs:symlink': (task, done) => fs.symlink(task.src, task.dest, done),

Loading…
Cancel
Save