From 55eafdc75d000864d907f43374706d7ddab17dde Mon Sep 17 00:00:00 2001 From: Brent Jackson Date: Sat, 28 Mar 2015 20:50:38 -0400 Subject: [PATCH] Add s3 script --- .gitignore | 2 ++ css/vhs.min.css | 1 + package.json | 3 +++ scripts/s3.js | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 css/vhs.min.css create mode 100644 scripts/s3.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9460c07 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +aws.json diff --git a/css/vhs.min.css b/css/vhs.min.css new file mode 100644 index 0000000..db65ca3 --- /dev/null +++ b/css/vhs.min.css @@ -0,0 +1 @@ +.vhs-flash{-webkit-animation-name:vhs-flash;animation-name:vhs-flash;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:steps(1);animation-timing-function:steps(1);opacity:0}@-webkit-keyframes vhs-flash{0%{opacity:0}50%{opacity:1}}@keyframes vhs-flash{0%{opacity:0}50%{opacity:1}}.vhs-flicker{opacity:0;-webkit-animation-name:vhs-flicker;animation-name:vhs-flicker;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:steps(7);animation-timing-function:steps(7)}@-webkit-keyframes vhs-flicker{0%{opacity:0}12.5%{opacity:.25}25%{opacity:0}37.5%{opacity:0}50%{opacity:.75}62.5%{opacity:0}75%{opacity:1}87.5%{opacity:.5}100%{opacity:1}}@keyframes vhs-flicker{0%{opacity:0}12.5%{opacity:.25}25%{opacity:0}37.5%{opacity:0}50%{opacity:.75}62.5%{opacity:0}75%{opacity:1}87.5%{opacity:.5}100%{opacity:1}}.vhs-zoom{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation-name:vhs-zoom;animation-name:vhs-zoom;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes vhs-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vhs-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}.vhs-fade{opacity:0;-webkit-animation-name:vhs-fade;animation-name:vhs-fade;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes vhs-fade{0%{opacity:0}100%{opacity:1}}@keyframes vhs-fade{0%{opacity:0}100%{opacity:1}}.vhs-pop{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation-name:vhs-pop;animation-name:vhs-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes vhs-pop{0%{-webkit-transform:scale(0);transform:scale(0)}75%{-webkit-transform:scale(1.25);transform:scale(1.25)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vhs-pop{0%{-webkit-transform:scale(0);transform:scale(0)}75%{-webkit-transform:scale(1.25);transform:scale(1.25)}100%{-webkit-transform:scale(1);transform:scale(1)}}.vhs-highlight{-webkit-animation-name:vhs-highlight;animation-name:vhs-highlight;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.vhs-highlight-text{-webkit-animation-name:vhs-highlight-text;animation-name:vhs-highlight-text;-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes vhs-highlight{0%{background-color:rgba(0,255,255,.5);background-color:rgba(127,219,255,.5)}100%{background-color:rgba(0,255,255,0);background-color:rgba(127,219,255,0)}}@keyframes vhs-highlight{0%{background-color:rgba(0,255,255,.5);background-color:rgba(127,219,255,.5)}100%{background-color:rgba(0,255,255,0);background-color:rgba(127,219,255,0)}}@-webkit-keyframes vhs-highlight-text{0%{color:blue;color:#0074d9}100%{color:inherit}}@keyframes vhs-highlight-text{0%{color:blue;color:#0074d9}100%{color:inherit}}.vhs-left,.vhs-right,.vhs-top,.vhs-bottom{opacity:0;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.vhs-left{-webkit-animation-name:vhs-left;animation-name:vhs-left;-webkit-transform:translateX(-12.5vw);-ms-transform:translateX(-12.5vw);transform:translateX(-12.5vw)}.vhs-right{-webkit-animation-name:vhs-right;animation-name:vhs-right;-webkit-transform:translateX(12.5vw);-ms-transform:translateX(12.5vw);transform:translateX(12.5vw)}.vhs-top{-webkit-animation-name:vhs-top;animation-name:vhs-top;-webkit-transform:translateY(-12.5vh);-ms-transform:translateY(-12.5vh);transform:translateY(-12.5vh)}.vhs-bottom{-webkit-animation-name:vhs-bottom;animation-name:vhs-bottom;-webkit-transform:translateY(12.5vh);-ms-transform:translateY(12.5vh);transform:translateY(12.5vh)}@-webkit-keyframes vhs-left{0%{-webkit-transform:translateX(-12.5vw);transform:translateX(-12.5vw);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes vhs-left{0%{-webkit-transform:translateX(-12.5vw);transform:translateX(-12.5vw);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes vhs-right{0%{-webkit-transform:translateX(12.5vw);transform:translateX(12.5vw);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes vhs-right{0%{-webkit-transform:translateX(12.5vw);transform:translateX(12.5vw);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@-webkit-keyframes vhs-top{0%{-webkit-transform:translateY(-12.5vh);transform:translateY(-12.5vh);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes vhs-top{0%{-webkit-transform:translateY(-12.5vh);transform:translateY(-12.5vh);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes vhs-bottom{0%{-webkit-transform:translateY(12.5vh);transform:translateY(12.5vh);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes vhs-bottom{0%{-webkit-transform:translateY(12.5vh);transform:translateY(12.5vh);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.vhs-highlight-pop{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-animation-name:vhs-pop,vhs-highlight;animation-name:vhs-pop,vhs-highlight;-webkit-animation-duration:.2s,2s;animation-duration:.2s,2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.vhs-highlight-pop-text{-webkit-animation-name:vhs-pop,vhs-highlight-text;animation-name:vhs-pop,vhs-highlight-text;-webkit-animation-duration:.2s,2s;animation-duration:.2s,2s}.vhs-delay-1{-webkit-animation-delay:.1s;animation-delay:.1s}.vhs-delay-2{-webkit-animation-delay:.2s;animation-delay:.2s}.vhs-delay-3{-webkit-animation-delay:.4s;animation-delay:.4s}.vhs-delay-4{-webkit-animation-delay:.6s;animation-delay:.6s}.vhs-delay-5{-webkit-animation-delay:1s;animation-delay:1s}.vhs-delay-6{-webkit-animation-delay:2s;animation-delay:2s}.vhs-duration-1{-webkit-animation-duration:.1s;animation-duration:.1s}.vhs-duration-2{-webkit-animation-duration:.2s;animation-duration:.2s}.vhs-duration-3{-webkit-animation-duration:.4s;animation-duration:.4s}.vhs-duration-4{-webkit-animation-duration:.6s;animation-duration:.6s}.vhs-duration-5{-webkit-animation-duration:1s;animation-duration:1s}.vhs-duration-6{-webkit-animation-duration:2s;animation-duration:2s}.vhs-linear{-webkit-animation-timing-function:linear;animation-timing-function:linear}.vhs-ease-in{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.vhs-ease-out{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.vhs-ease-in-out{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.vhs-infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.vhs-reverse{-webkit-animation-direction:reverse;animation-direction:reverse}.vhs-alternate{-webkit-animation-direction:alternate;animation-direction:alternate}.vhs-fill-forwards{-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.vhs-fill-backwards{-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards}.vhs-fill-both{-webkit-animation-fill-mode:both;animation-fill-mode:both}.vhs-paused{-webkit-animation-play-state:paused;animation-play-state:paused} \ No newline at end of file diff --git a/package.json b/package.json index debad13..836a1b3 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,11 @@ "style": "index.css", "scripts": { "css": "cssnext index.css css/vhs.css", + "minify": "cssnext index.css css/vhs.min.css -c", "docs:css": "cssnext docs/index.css docs/base.css", "html": "node docs/build", "watch:css": "cssnext index.css css/vhs.css --watch", + "s3": "npm run minify && node scripts/s3", "serve": "http-server -p 8000", "start": "npm run watch:css & npm run docs:css & npm run html & npm run serve" }, @@ -34,6 +36,7 @@ "humanize-plus": "^1.5.0", "mocha": "^2.2.1", "postcss": "^4.0.6", + "s3": "^4.4.0", "watch": "^0.14.0" }, "dependencies": { diff --git a/scripts/s3.js b/scripts/s3.js new file mode 100644 index 0000000..c94e2f5 --- /dev/null +++ b/scripts/s3.js @@ -0,0 +1,38 @@ + +var path = require('path'); +var s3 = require('s3'); +var version = require('../package.json').version; + +function upload() { + var options = require('../aws.json'); + var params = { + localFile: path.join(__dirname, '../css/vhs.min.css'), + s3Params: { + Bucket: options.bucket, + Key: 'vhs/' + version + '/vhs.min.css', + ACL: 'public-read', + } + }; + + var client = s3.createClient({ + s3Options: { + accessKeyId: options.key, + secretAccessKey: options.secret, + } + }); + + var uploader = client.uploadFile(params); + uploader.on('error', function(err) { + console.error("unable to upload:", err.stack); + }); + uploader.on('progress', function() { + console.log("progress", uploader.progressMd5Amount, uploader.progressAmount, uploader.progressTotal); + }); + uploader.on('end', function() { + console.log("done uploading"); + }); + +}; + +upload(); +