@@ -136,7 +136,7 @@ module.exports = function (grunt) { | |||||
} | } | ||||
}, | }, | ||||
useminPrepare: { | useminPrepare: { | ||||
html: '<%= yeoman.app %>/index.html', | |||||
html: '<%= yeoman.app %>/*.html', | |||||
options: { | options: { | ||||
dest: '<%= yeoman.dist %>' | dest: '<%= yeoman.dist %>' | ||||
} | } | ||||
@@ -211,6 +211,7 @@ module.exports = function (grunt) { | |||||
'fonts/{,*/}*.*', | 'fonts/{,*/}*.*', | ||||
'.htaccess', | '.htaccess', | ||||
'index.txt', | 'index.txt', | ||||
'404.txt', | |||||
'images/{,*/}*.{webp,gif}' | 'images/{,*/}*.{webp,gif}' | ||||
] | ] | ||||
}] | }] | ||||
@@ -17,6 +17,9 @@ | |||||
"bootstrap": "~3.0.0", | "bootstrap": "~3.0.0", | ||||
"modernizr": "~2.6.2", | "modernizr": "~2.6.2", | ||||
"uri.js": "~1.14.1", | "uri.js": "~1.14.1", | ||||
"typed.js": "https://github.com/mattboldt/typed.js.git" | |||||
"typed.js": "https://github.com/mattboldt/typed.js.git", | |||||
"realistic-typewriter.js": "https://github.com/fardjad/realistic-typewriter.js.git", | |||||
"animate.less": "*", | |||||
"jquery-waypoints": "https://github.com/imakewebthings/jquery-waypoints.git#~2.0.5" | |||||
} | } | ||||
} | } |
@@ -1 +1 @@ | |||||
404. Not found |
@@ -16,20 +16,29 @@ | |||||
<link rel="stylesheet" href="styles/main.css"> | <link rel="stylesheet" href="styles/main.css"> | ||||
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300" rel="stylesheet" type="text/css"> | <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300" rel="stylesheet" type="text/css"> | ||||
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:300" rel="stylesheet" type="text/css"> | |||||
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:300,400" rel="stylesheet" type="text/css"> | |||||
<script src="scripts/vendor/modernizr.js"></script> | <script src="scripts/vendor/modernizr.js"></script> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
<script> | <script> | ||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
(function(i, s, o, g, r, a, m) { | |||||
i['GoogleAnalyticsObject'] = r; | |||||
i[r] = i[r] || function() { | |||||
(i[r].q = i[r].q || []).push(arguments) | |||||
}, i[r].l = 1 * new Date(); | |||||
a = s.createElement(o), | |||||
m = s.getElementsByTagName(o)[0]; | |||||
a.async = 1; | |||||
a.src = g; | |||||
m.parentNode.insertBefore(a, m) | |||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
</script> | </script> | ||||
<div id="navigation"> | <div id="navigation"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h1>transfer.sh</h1> | <h1>transfer.sh</h1> | ||||
@@ -42,22 +51,21 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<section id="home"> | <section id="home"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> | <h2> | ||||
Upload and share your files | |||||
</h2> | |||||
Easy file sharing from the command line | |||||
</h2> | |||||
<div class="row"> | |||||
<div id="from-terminal" class="box"> | |||||
<h3>Easy sharing from the command-line</h3> | |||||
<div class="row animated fadeInDown"> | |||||
<div id="from-terminal" class="box col-md-6 col-xs-12"> | |||||
<h3>Share from terminal</h3> | |||||
<div id="terminal"> | <div id="terminal"> | ||||
<p style="white-space:pre"></p> | <p style="white-space:pre"></p> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="from-web" class=""> | |||||
<h3>From web</h3> | |||||
<div id="from-web" class="col-md-6 col-xs-12"> | |||||
<h3>Share from web</h3> | |||||
<div id="web"> | <div id="web"> | ||||
<a class="browse" href="#"> | <a class="browse" href="#"> | ||||
@@ -69,8 +77,9 @@ | |||||
<li> | <li> | ||||
</li> | </li> | ||||
</ul> | </ul> | ||||
<div class="span8 all-files" style="margin: 0; opacity: 0"> | |||||
download all files link <a class="download-zip" href="#">zip</a> <a class="download-tar" href="#">tar.gz</a> | |||||
<div class="all-files"> | |||||
<h4>Download your files:</h4> | |||||
<a class="download-zip btn-cta" href="#">zip</a> <a class="download-tar btn-cta" href="#">tar.gz</a> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
</div> | </div> | ||||
@@ -78,43 +87,45 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | |||||
<div> | |||||
<br> | |||||
<br> | |||||
<a href="#features" class="btn-cta">learn more </a> | <a href="#features" class="btn-cta">learn more </a> | ||||
<br> | |||||
<br> | |||||
</div> | </div> | ||||
</div></section> | </div></section> | ||||
<section id="features"> | <section id="features"> | ||||
<div class="wrapper"> | |||||
<div class="wrapper container"> | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-terminal"></i> | <i class="icon-terminal"></i> | ||||
<h3>Made for us with shell</h3> | |||||
<h3>Made for use with shell</h3> | |||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-link"></i> | <i class="icon-link"></i> | ||||
<h3>Share files just with a URL</h3> | |||||
<h3>Share files with a URL</h3> | |||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-database"></i> | <i class="icon-database"></i> | ||||
<h3>Upload up to 5 GB</h3> | <h3>Upload up to 5 GB</h3> | ||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-clock"></i> | <i class="icon-clock"></i> | ||||
<h3>Files are stored for 14 days</h3> | |||||
<h3>Files stored for 14 days</h3> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-offset-3 col-md-3 col-xs-3"> | |||||
<div class="col-md-offset-3 col-md-3 col-xs-6"> | |||||
<i class="icon-tag"></i> | <i class="icon-tag"></i> | ||||
<h3>For free</h3> | <h3>For free</h3> | ||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-lock"></i> | <i class="icon-lock"></i> | ||||
<h3>Encrypt your files</h3> | <h3>Encrypt your files</h3> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</section> | </section> | ||||
@@ -124,8 +135,8 @@ | |||||
<section id="samples"> | <section id="samples"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> | <h2> | ||||
Sample use cases | |||||
</h2> | |||||
Sample use cases | |||||
</h2> | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-6"> | <div class="col-md-6"> | ||||
<h3>Uploading</h3> | <h3>Uploading</h3> | ||||
@@ -136,40 +147,101 @@ | |||||
</div> | </div> | ||||
<div class="col-md-6"> | <div class="col-md-6"> | ||||
<h3>Make an alias</h3> | <h3>Make an alias</h3> | ||||
<h4>Create an alias, and add it to .bashrc for faster use</h4> | |||||
<code>$ transfer() { | |||||
# write to output to tmpfile because of progress bar | |||||
tmpfile=$( mktemp -t transfer ) | |||||
curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; | |||||
cat $tmpfile; | |||||
rm -f $tmpfile; | |||||
} | |||||
alias transfer=transfer</code> | |||||
<h4>Now you can just use <strong>transfer</strong> command</h4> | |||||
<h4>Create an alias, and add it to .bashrc for faster use</h4> | |||||
<code>$ transfer() { # write to output to tmpfile because of progress bar tmpfile=$( mktemp -t transfer ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; } alias transfer=transfer</code> | |||||
<h4>Now you can just use | |||||
<strong>transfer</strong>command</h4> | |||||
<code>$transfer hello.txt</code> | <code>$transfer hello.txt</code> | ||||
</div> | |||||
</div> | |||||
<a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a> | |||||
<div class="collapse" id="coll"> | |||||
<div class="row"> | |||||
<div class="col-md-6"> | |||||
<h3>Transfer multiple files</h3> | |||||
<h4>Upload multiple files at once | |||||
</h4> | |||||
<code>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/</code> | |||||
<h4>Combining downloads as zip or tar archive</h4> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz</code> | |||||
<br> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip</code> | |||||
</div> | |||||
<div class="col-md-6"> | |||||
<h3>Encrypt your files before the transfer</h3> | |||||
<h4>You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh.</h4> | |||||
<h4></h4> | |||||
<code>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code> | |||||
<h4>Encrypt and upload</h4> | |||||
<code>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt</code> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</section> | |||||
<section id="reviews"> | |||||
<div class="wrapper"> | |||||
<div class="row"> | |||||
<div class="col-md-8 col-md-offset-2 col-xs-12"> | |||||
<blockquote class="twitter-tweet tweet-xl" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/lars.jpg" alt=""> | |||||
<p>transfer.sh is my latest fav service! Try simple command-line and web file sharing! <a href="https://t.co/FSrsb1JKJd">https://t.co/FSrsb1JKJd</a> Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">— Lars Arvestad (@arvestad)</a> | |||||
</blockquote> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-6"> | |||||
<h3>Transfer multiple files</h3> | |||||
<h4>Upload multiple files at once | |||||
</h4> | |||||
<code>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/</code> | |||||
<h4>Combining downloads as zip or tar archive</h4> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz</code> | |||||
<br> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip</code> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/kareem.jpg" alt=""> | |||||
<p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> love transfer.sh! any change we can *pay* for a self-hosted version?</p><a href="https://twitter.com/kareemk/status/517029789191118849">— Kareem Kouddous (@kareemk) </a> | |||||
</blockquote> | |||||
</div> | </div> | ||||
<div class="col-md-6"> | |||||
<h3>Encrypt your files before the transfer</h3> | |||||
<h4>You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh.</h4> | |||||
<h4></h4> | |||||
<code>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code> | |||||
<h4>Encrypt and upload</h4> | |||||
<code>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt</code> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/pg.jpeg" alt=""> | |||||
<p><a href="http://t.co/JomAmqWYEB">http://t.co/JomAmqWYEB</a> by <a href="https://twitter.com/dutchcoders">@dutchcoders</a> is pure awesomeness! any chance of source on github? :-)</p><a href="https://twitter.com/drakpz/status/517008058841829376">— PJ Spagnolatti (@drakpz)</a> | |||||
</blockquote> | |||||
</div> | |||||
</div> | |||||
<div class="row"> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/jacob.jpg" alt=""> | |||||
<p>Love transfer.sh! Will be using it from now on! Thanks for the amazing service we can use from the CLI <a href="https://twitter.com/dutchcoders">@dutchcoders</a> | |||||
</p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">— Jacob Lindgren (@jacoblindgren11) </a> | |||||
</blockquote> | |||||
</div> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/dave.jpg" alt=""> | |||||
<p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> Thanks for transfer.sh. Just used it for a production purpose for a customer. So great, so easy, so https. :)</p> | |||||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||||
— Dave Sims (@FloifyDave)</a> | |||||
</blockquote> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -177,7 +249,7 @@ alias transfer=transfer</code> | |||||
<section id="share"> | <section id="share"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> Share the love </h2> | |||||
<h2>Share the love</h2> | |||||
<ul class="share-buttons"> | <ul class="share-buttons"> | ||||
<li> | <li> | ||||
<a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false"> <i class="icon-facebook"></i> | <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false"> <i class="icon-facebook"></i> | ||||
@@ -202,8 +274,8 @@ alias transfer=transfer</code> | |||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<i class="icon-mail"></i> | <i class="icon-mail"></i> | ||||
<h2> | <h2> | ||||
Any questions? | |||||
</h2> | |||||
Any questions? | |||||
</h2> | |||||
<a href="#" data-uv-trigger class="btn-cta">contact us</a> | <a href="#" data-uv-trigger class="btn-cta">contact us</a> | ||||
</div> | </div> | ||||
</section> | </section> | ||||
@@ -219,17 +291,27 @@ alias transfer=transfer</code> | |||||
<a href="https://github.com/dutchcoders/transfer.sh/"> | <a href="https://github.com/dutchcoders/transfer.sh/"> | ||||
<img style="position: absolute; top: 0; right: 0; border: 0" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"> | <img style="position: absolute; top: 0; right: 0; border: 0" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"> | ||||
</a> | </a> | ||||
<script> | <script> | ||||
(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})() | |||||
(function() { | |||||
var uv = document.createElement('script'); | |||||
uv.type = 'text/javascript'; | |||||
uv.async = true; | |||||
uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js'; | |||||
var s = document.getElementsByTagName('script')[0]; | |||||
s.parentNode.insertBefore(uv, s) | |||||
})() | |||||
</script> | </script> | ||||
<!--[if lt IE 7]> | <!--[if lt IE 7]> | ||||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | ||||
<![endif]--> | <![endif]--> | ||||
<script> | <script> | ||||
(function (b, o, i, l, e, r) { | |||||
(function(b, o, i, l, e, r) { | |||||
b.GoogleAnalyticsObject = l; | b.GoogleAnalyticsObject = l; | ||||
b[l] || (b[l] = | b[l] || (b[l] = | ||||
function () { | |||||
function() { | |||||
(b[l].q = b[l].q || []).push(arguments) | (b[l].q = b[l].q || []).push(arguments) | ||||
}); | }); | ||||
b[l].l = +new Date; | b[l].l = +new Date; | ||||
@@ -238,8 +320,8 @@ alias transfer=transfer</code> | |||||
e.src = '//www.google-analytics.com/analytics.js'; | e.src = '//www.google-analytics.com/analytics.js'; | ||||
r.parentNode.insertBefore(e, r) | r.parentNode.insertBefore(e, r) | ||||
}(window, document, 'script', 'ga')); | }(window, document, 'script', 'ga')); | ||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
</script> | </script> | ||||
<script src="scripts/main.js"></script> | <script src="scripts/main.js"></script> | ||||
@@ -0,0 +1 @@ | |||||
404. Not found |
@@ -16,7 +16,7 @@ | |||||
<link rel="stylesheet" href="styles/main.css"> | <link rel="stylesheet" href="styles/main.css"> | ||||
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'> | <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'> | ||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:300' rel='stylesheet' type='text/css'> | |||||
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:300,400' rel='stylesheet' type='text/css'> | |||||
<!-- build:js scripts/vendor/modernizr.js --> | <!-- build:js scripts/vendor/modernizr.js --> | ||||
<script src="bower_components/modernizr/modernizr.js"></script> | <script src="bower_components/modernizr/modernizr.js"></script> | ||||
@@ -24,14 +24,23 @@ | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<script> | <script> | ||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
(function(i, s, o, g, r, a, m) { | |||||
i['GoogleAnalyticsObject'] = r; | |||||
i[r] = i[r] || function() { | |||||
(i[r].q = i[r].q || []).push(arguments) | |||||
}, i[r].l = 1 * new Date(); | |||||
a = s.createElement(o), | |||||
m = s.getElementsByTagName(o)[0]; | |||||
a.async = 1; | |||||
a.src = g; | |||||
m.parentNode.insertBefore(a, m) | |||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
</script> | </script> | ||||
<div id="navigation"> | <div id="navigation"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h1>transfer.sh</h1> | <h1>transfer.sh</h1> | ||||
@@ -44,22 +53,21 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<section id="home"> | <section id="home"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> | <h2> | ||||
Upload and share your files | |||||
</h2> | |||||
Easy file sharing from the command line | |||||
</h2> | |||||
<div class="row"> | |||||
<div id="from-terminal" class="box"> | |||||
<h3>Easy sharing from the command-line</h3> | |||||
<div class="row animated fadeInDown"> | |||||
<div id="from-terminal" class=" box col-md-6 col-xs-12"> | |||||
<h3>Share from terminal</h3> | |||||
<div id="terminal"> | <div id="terminal"> | ||||
<p style='white-space:pre'></p> | <p style='white-space:pre'></p> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="from-web" class=""> | |||||
<h3>From web</h3> | |||||
<div id="from-web" class="col-md-6 col-xs-12"> | |||||
<h3>Share from web</h3> | |||||
<div id="web"> | <div id="web"> | ||||
<a class="browse" href="#"> | <a class="browse" href="#"> | ||||
@@ -71,8 +79,9 @@ | |||||
<li> | <li> | ||||
</li> | </li> | ||||
</ul> | </ul> | ||||
<div class='span8 all-files' style='margin: 0; opacity: 0;'> | |||||
download all files link <a class="download-zip" href="#">zip</a> <a class="download-tar" href="#">tar.gz</a> | |||||
<div class='all-files'> | |||||
<h4>Download your files:</h4> | |||||
<a class="download-zip btn-cta" href="#">zip</a> <a class="download-tar btn-cta" href="#">tar.gz</a> | |||||
</div> | </div> | ||||
<div> | <div> | ||||
</div> | </div> | ||||
@@ -80,43 +89,45 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | |||||
<div> | |||||
<br> | |||||
<br> | |||||
<a href="#features" class="btn-cta">learn more</i> </a> | <a href="#features" class="btn-cta">learn more</i> </a> | ||||
<br> | |||||
<br> | |||||
</div> | </div> | ||||
</section> | </section> | ||||
<section id="features"> | <section id="features"> | ||||
<div class="wrapper"> | |||||
<div class="wrapper container"> | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-terminal"></i> | <i class="icon-terminal"></i> | ||||
<h3>Made for us with shell</h3> | |||||
<h3>Made for use with shell</h3> | |||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-link"></i> | <i class="icon-link"></i> | ||||
<h3>Share files just with a URL</h3> | |||||
<h3>Share files with a URL</h3> | |||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-database"></i> | <i class="icon-database"></i> | ||||
<h3>Upload up to 5 GB</h3> | <h3>Upload up to 5 GB</h3> | ||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-clock"></i> | <i class="icon-clock"></i> | ||||
<h3>Files are stored for 14 days</h3> | |||||
<h3>Files stored for 14 days</h3> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-offset-3 col-md-3 col-xs-3"> | |||||
<div class="col-md-offset-3 col-md-3 col-xs-6"> | |||||
<i class="icon-tag"></i> | <i class="icon-tag"></i> | ||||
<h3>For free</h3> | <h3>For free</h3> | ||||
</div> | </div> | ||||
<div class="col-md-3 col-xs-3"> | |||||
<div class="col-md-3 col-xs-6"> | |||||
<i class="icon-lock"></i> | <i class="icon-lock"></i> | ||||
<h3>Encrypt your files</h3> | <h3>Encrypt your files</h3> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</section> | </section> | ||||
@@ -126,52 +137,112 @@ | |||||
<section id="samples"> | <section id="samples"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> | <h2> | ||||
Sample use cases | |||||
</h2> | |||||
Sample use cases | |||||
</h2> | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-6"> | |||||
<div class="col-md-6 "> | |||||
<h3>Uploading</h3> | <h3>Uploading</h3> | ||||
<h4>Uploading is easy using curl.</h4> | <h4>Uploading is easy using curl.</h4> | ||||
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code> | <code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code> | ||||
<h4>Download the file.</h4> | <h4>Download the file.</h4> | ||||
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code> | <code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code> | ||||
</div> | </div> | ||||
<div class="col-md-6"> | |||||
<div class="col-md-6 "> | |||||
<h3>Make an alias</h3> | <h3>Make an alias</h3> | ||||
<h4>Create an alias, and add it to .bashrc for faster use</h4> | |||||
<code>$ transfer() { | |||||
# write to output to tmpfile because of progress bar | |||||
tmpfile=$( mktemp -t transfer ) | |||||
curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; | |||||
cat $tmpfile; | |||||
rm -f $tmpfile; | |||||
} | |||||
alias transfer=transfer</code> | |||||
<h4>Now you can just use <strong>transfer</strong> command</h4> | |||||
<h4>Create an alias, and add it to .bashrc for faster use</h4> | |||||
<code>$ transfer() { # write to output to tmpfile because of progress bar tmpfile=$( mktemp -t transfer ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; } alias transfer=transfer</code> | |||||
<h4>Now you can just use | |||||
<strong>transfer</strong>command</h4> | |||||
<code>$transfer hello.txt</code> | <code>$transfer hello.txt</code> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a> | |||||
<div class="collapse " id="coll"> | |||||
<div class="row"> | |||||
<div class="col-md-6"> | |||||
<h3>Transfer multiple files</h3> | |||||
<h4>Upload multiple files at once | |||||
</h4> | |||||
<code>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/</code> | |||||
<h4>Combining downloads as zip or tar archive</h4> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz</code> | |||||
<br> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip</code> | |||||
</div> | |||||
<div class="col-md-6"> | |||||
<h3>Encrypt your files before the transfer</h3> | |||||
<h4>You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh.</h4> | |||||
<h4></h4> | |||||
<code>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code> | |||||
<h4>Encrypt and upload</h4> | |||||
<code>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt</code> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</section> | |||||
<section id="reviews"> | |||||
<div class="wrapper"> | |||||
<div class="row"> | |||||
<div class="col-md-8 col-md-offset-2 col-xs-12"> | |||||
<blockquote class="twitter-tweet tweet-xl" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/dave.jpg" alt=""> | |||||
<p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> Thanks for transfer.sh. Just used it for a production purpose for a customer. So great, so easy, so https. :)</p> | |||||
<a href="https://twitter.com/FloifyDave/status/517383101425516544"> | |||||
— Dave Sims (@FloifyDave)</a> | |||||
</blockquote> | |||||
</div> | |||||
</div> | |||||
<div class="row"> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/kareem.jpg" alt=""> | |||||
<p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> love transfer.sh! any change we can *pay* for a self-hosted version?</p><a href="https://twitter.com/kareemk/status/517029789191118849">— Kareem Kouddous (@kareemk) </a> | |||||
</blockquote> | |||||
</div> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/pg.jpeg" alt=""> | |||||
<p><a href="http://t.co/JomAmqWYEB">http://t.co/JomAmqWYEB</a> by <a href="https://twitter.com/dutchcoders">@dutchcoders</a> is pure awesomeness! any chance of source on github? :-)</p><a href="https://twitter.com/drakpz/status/517008058841829376">— PJ Spagnolatti (@drakpz)</a> | |||||
</blockquote> | |||||
</div> | |||||
</div> | |||||
<div class="row"> | <div class="row"> | ||||
<div class="col-md-6"> | |||||
<h3>Transfer multiple files</h3> | |||||
<h4>Upload multiple files at once | |||||
</h4> | |||||
<code>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/</code> | |||||
<h4>Combining downloads as zip or tar archive</h4> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz</code> | |||||
<br> | |||||
<code>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip</code> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/jacob.jpg" alt=""> | |||||
<p>Love transfer.sh! Will be using it from now on! Thanks for the amazing service we can use from the CLI <a href="https://twitter.com/dutchcoders">@dutchcoders</a> | |||||
</p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">— Jacob Lindgren (@jacoblindgren11) </a> | |||||
</blockquote> | |||||
</div> | </div> | ||||
<div class="col-md-6"> | |||||
<h3>Encrypt your files before the transfer</h3> | |||||
<h4>You can encrypt files using gpg. The following command will encrypt the data before it leaves your server using the password you enter and upload it to transfer.sh.</h4> | |||||
<h4></h4> | |||||
<code>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code> | |||||
<h4>Encrypt and upload</h4> | |||||
<code>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt</code> | |||||
<div class="col-md-6 col-xs-12"> | |||||
<blockquote class="twitter-tweet" lang="en"> | |||||
<img class="twitter-profile" src="images/reviews/lars.jpg" alt=""> | |||||
<p>transfer.sh is my latest fav service! Try simple command-line and web file sharing! <a href="https://t.co/FSrsb1JKJd">https://t.co/FSrsb1JKJd</a> Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">— Lars Arvestad (@arvestad)</a> | |||||
</blockquote> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -179,7 +250,7 @@ alias transfer=transfer</code> | |||||
<section id="share"> | <section id="share"> | ||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<h2> Share the love </h2> | |||||
<h2>Share the love</h2> | |||||
<ul class="share-buttons"> | <ul class="share-buttons"> | ||||
<li> | <li> | ||||
<a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-facebook"></i> | <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-facebook"></i> | ||||
@@ -204,8 +275,8 @@ alias transfer=transfer</code> | |||||
<div class="wrapper"> | <div class="wrapper"> | ||||
<i class="icon-mail"></i> | <i class="icon-mail"></i> | ||||
<h2> | <h2> | ||||
Any questions? | |||||
</h2> | |||||
Any questions? | |||||
</h2> | |||||
<a href="#" data-uv-trigger class="btn-cta">contact us</a> | <a href="#" data-uv-trigger class="btn-cta">contact us</a> | ||||
</div> | </div> | ||||
</section> | </section> | ||||
@@ -221,17 +292,27 @@ alias transfer=transfer</code> | |||||
<a href="https://github.com/dutchcoders/transfer.sh/"> | <a href="https://github.com/dutchcoders/transfer.sh/"> | ||||
<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"> | <img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"> | ||||
</a> | </a> | ||||
<script> | <script> | ||||
(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})() | |||||
(function() { | |||||
var uv = document.createElement('script'); | |||||
uv.type = 'text/javascript'; | |||||
uv.async = true; | |||||
uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js'; | |||||
var s = document.getElementsByTagName('script')[0]; | |||||
s.parentNode.insertBefore(uv, s) | |||||
})() | |||||
</script> | </script> | ||||
<!--[if lt IE 7]> | <!--[if lt IE 7]> | ||||
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> | ||||
<![endif]--> | <![endif]--> | ||||
<script> | <script> | ||||
(function (b, o, i, l, e, r) { | |||||
(function(b, o, i, l, e, r) { | |||||
b.GoogleAnalyticsObject = l; | b.GoogleAnalyticsObject = l; | ||||
b[l] || (b[l] = | b[l] || (b[l] = | ||||
function () { | |||||
function() { | |||||
(b[l].q = b[l].q || []).push(arguments) | (b[l].q = b[l].q || []).push(arguments) | ||||
}); | }); | ||||
b[l].l = +new Date; | b[l].l = +new Date; | ||||
@@ -240,17 +321,19 @@ alias transfer=transfer</code> | |||||
e.src = '//www.google-analytics.com/analytics.js'; | e.src = '//www.google-analytics.com/analytics.js'; | ||||
r.parentNode.insertBefore(e, r) | r.parentNode.insertBefore(e, r) | ||||
}(window, document, 'script', 'ga')); | }(window, document, 'script', 'ga')); | ||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
ga('create', 'UA-40833733-1', 'transfer.sh'); | |||||
ga('send', 'pageview'); | |||||
</script> | </script> | ||||
<!-- build:js scripts/main.js --> | <!-- build:js scripts/main.js --> | ||||
<script src="bower_components/jquery/dist/jquery.js"></script> | <script src="bower_components/jquery/dist/jquery.js"></script> | ||||
<script src="bower_components/typed.js/js/typed.js"></script> | <script src="bower_components/typed.js/js/typed.js"></script> | ||||
<script src="bower_components/realistic-typewriter.js/build/typewriter-bundle.min.js"></script> | |||||
<script src="bower_components/uri.js/src/URI.min.js"></script> | <script src="bower_components/uri.js/src/URI.min.js"></script> | ||||
<script src="bower_components/bootstrap/js/transition.js"></script> | |||||
<script src="bower_components/bootstrap/js/collapse.js"></script> | |||||
<script src="scripts/main.js"></script> | <script src="scripts/main.js"></script> | ||||
<!-- endbuild --> | <!-- endbuild --> | ||||
</body> | </body> | ||||
</html> | </html> | ||||
@@ -1,21 +1,56 @@ | |||||
$(document).ready(function () { | |||||
$(document).ready(function() { | |||||
// Terminal typing animation | // Terminal typing animation | ||||
$("#from-terminal p").typed({ | |||||
strings: ["curl --upload-file ./hello.txt https://transfer.sh/hello.txt\n######################################################\nhttps://transfer.sh/66nb8/hello.txt \n "], | |||||
typeSpeed: 0, // typing speed | |||||
backSpeed: 0, // backspacing speed | |||||
startDelay: 0, // time before typing starts | |||||
backDelay: 500, // pause before backspacing | |||||
loop: false, // loop on or off (true or false) | |||||
loopCount: false, // number of loops, false = infinite | |||||
showCursor: true, | |||||
attr: null, // attribute to type, null = text for everything except inputs, which default to placeholder | |||||
callback: function(){ } // call function after typing is done | |||||
}); | |||||
/* $("#from-terminal p").typed({ | |||||
strings: ["curl --upload-file ./hello.txt https://transfer.sh/hello.txt\n######################################################\nhttps://transfer.sh/66nb8/hello.txt \n "], | |||||
typeSpeed: 0, // typing speed | |||||
backSpeed: 0, // backspacing speed | |||||
startDelay: 0, // time before typing starts | |||||
backDelay: 500, // pause before backspacing | |||||
loop: false, // loop on or off (true or false) | |||||
loopCount: false, // number of loops, false = infinite | |||||
showCursor: true, | |||||
attr: null, // attribute to type, null = text for everything except inputs, which default to placeholder | |||||
callback: function(){ } // call function after typing is done | |||||
}); | |||||
*/ | |||||
var typewriter = require('typewriter'); | |||||
var twSpan = document.getElementById('terminal'); | |||||
var tw = typewriter(twSpan).withAccuracy(100) | |||||
.withMinimumSpeed(17) | |||||
.withMaximumSpeed(25) | |||||
.build(); | |||||
tw.put('$ ') | |||||
.waitRange(500, 1000) | |||||
.type('curl --upload-file ./hello.txt https://transfer.sh/hello.txt') | |||||
.put('<br/>') | |||||
.put('https://transfer.sh/66nb8/hello.txt ') | |||||
.put('<br/>') | |||||
.put('$ ') | |||||
.waitRange(500, 1000) | |||||
.put('<br/>') | |||||
.put('$ ') | |||||
.waitRange(500, 1000) | |||||
.put('<br/>') | |||||
.put('$ ') | |||||
.waitRange(500, 1000) | |||||
.type('transfer hello.txt') | |||||
.put('<br/>') | |||||
.type('####################################################') | |||||
.put(' 100.0%') | |||||
.put('<br/>') | |||||
.put('https://transfer.sh/eibhM/hello.txt ') | |||||
.put('<br/>') | |||||
.put('$ ') | |||||
.waitRange(1000, 1500) | |||||
.put('<br/>') | |||||
.put('$ ') | |||||
// Smooth scrolling | // Smooth scrolling | ||||
$('a[href*=#]:not([href=#])').click(function () { | |||||
$('a[href*=#]:not([href=#])').click(function() { | |||||
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { | if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { | ||||
var target = $(this.hash); | var target = $(this.hash); | ||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); | target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); | ||||
@@ -28,28 +63,39 @@ $(document).ready(function () { | |||||
} | } | ||||
}); | }); | ||||
// function resizePages() { | |||||
// var h = $(window).height(); | |||||
// var height = h < 600 ? 600 : h; | |||||
/* $('section').css('height',height); | |||||
$('#home').css('height',height*0.98); | |||||
} | |||||
resizePages();*/ | |||||
}); | }); | ||||
(function () { | |||||
(function() { | |||||
var files = Array() | var files = Array() | ||||
function upload(file) { | function upload(file) { | ||||
$('.browse').addClass('uploading'); | |||||
var li = $('<li style="clear:both;"/>'); | var li = $('<li style="clear:both;"/>'); | ||||
li.append($('<div><div class="progress active upload-progress" style="margin-bottom: 0;"><div class="progress-bar bar" style="width: 0%;"></div></div><p>Uploading... ' + file.name + '</p></div>')); | li.append($('<div><div class="progress active upload-progress" style="margin-bottom: 0;"><div class="progress-bar bar" style="width: 0%;"></div></div><p>Uploading... ' + file.name + '</p></div>')); | ||||
$(li).appendTo($('.queue')); | $(li).appendTo($('.queue')); | ||||
var xhr = new XMLHttpRequest(); | var xhr = new XMLHttpRequest(); | ||||
xhr.upload.addEventListener("progress", function (e) { | |||||
xhr.upload.addEventListener("progress", function(e) { | |||||
var pc = parseInt((e.loaded / e.total * 100)); | var pc = parseInt((e.loaded / e.total * 100)); | ||||
$('.upload-progress', $(li)).show(); | $('.upload-progress', $(li)).show(); | ||||
$('.upload-progress .bar', $(li)).css('width', pc + "%"); | $('.upload-progress .bar', $(li)).css('width', pc + "%"); | ||||
}, false); | }, false); | ||||
xhr.onreadystatechange = function (e) { | |||||
xhr.onreadystatechange = function(e) { | |||||
if (xhr.readyState == 4) { | if (xhr.readyState == 4) { | ||||
$('.upload-progress', $(li)).hide(); | $('.upload-progress', $(li)).hide(); | ||||
$('#web').addClass('uploading'); | |||||
// progress.className = (xhr.status == 200 ? "success" : "failure"); | // progress.className = (xhr.status == 200 ? "success" : "failure"); | ||||
if (xhr.status == 200) { | if (xhr.status == 200) { | ||||
$(li).html('<a target="_blank" href="' + xhr.responseText + '">' + xhr.responseText + '</a>'); | $(li).html('<a target="_blank" href="' + xhr.responseText + '">' + xhr.responseText + '</a>'); | ||||
@@ -63,7 +109,7 @@ $(document).ready(function () { | |||||
$(".download-zip").attr("href", URI("(" + files.join(",") + ").zip").absoluteTo(location.href).toString()); | $(".download-zip").attr("href", URI("(" + files.join(",") + ").zip").absoluteTo(location.href).toString()); | ||||
$(".download-tar").attr("href", URI("(" + files.join(",") + ").tar.gz").absoluteTo(location.href).toString()); | $(".download-tar").attr("href", URI("(" + files.join(",") + ").tar.gz").absoluteTo(location.href).toString()); | ||||
$(".all-files").css("opacity", "1"); | |||||
$(".all-files").addClass('show'); | |||||
} | } | ||||
@@ -77,15 +123,21 @@ $(document).ready(function () { | |||||
xhr.send(file); | xhr.send(file); | ||||
}; | }; | ||||
$(document).bind("dragenter", function (event) { | |||||
$(document).bind("dragenter", function(event) { | |||||
event.preventDefault(); | event.preventDefault(); | ||||
}).bind("dragover", function (event) { | |||||
}).bind("dragover", function(event) { | |||||
event.preventDefault(); | event.preventDefault(); | ||||
// show drop indicator | // show drop indicator | ||||
}).bind("dragleave", function (event) {}).bind("drop dragdrop", function (event) { | |||||
$('#web').addClass('dragged'); | |||||
}).bind("dragleave", function(event) { | |||||
$('#web').removeClass('dragged'); | |||||
console.log('asdasd'); | |||||
}).bind("drop dragdrop", function(event) { | |||||
var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files; | var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files; | ||||
$.each(files, function (index, file) { | |||||
$.each(files, function(index, file) { | |||||
console.debug(file); | console.debug(file); | ||||
upload(file); | upload(file); | ||||
}); | }); | ||||
@@ -94,15 +146,15 @@ $(document).ready(function () { | |||||
event.preventDefault(); | event.preventDefault(); | ||||
}); | }); | ||||
$('a.browse').on('click', function (event) { | |||||
$('a.browse').on('click', function(event) { | |||||
$("input[type=file]").click(); | $("input[type=file]").click(); | ||||
return (false); | return (false); | ||||
}); | }); | ||||
$('input[type=file]').on('change', function (event) { | |||||
$.each(this.files, function (index, file) { | |||||
$('input[type=file]').on('change', function(event) { | |||||
$.each(this.files, function(index, file) { | |||||
if (file instanceof Blob) { | if (file instanceof Blob) { | ||||
upload(file); | upload(file); | ||||
} | } | ||||
@@ -16,7 +16,7 @@ | |||||
//@import "../bower_components/bootstrap/less/buttons.less"; | //@import "../bower_components/bootstrap/less/buttons.less"; | ||||
// Components | // Components | ||||
//@import "../bower_components/bootstrap/less/component-animations.less"; | |||||
@import "../bower_components/bootstrap/less/component-animations.less"; | |||||
//@import "../bower_components/bootstrap/less/glyphicons.less"; | //@import "../bower_components/bootstrap/less/glyphicons.less"; | ||||
//@import "../bower_components/bootstrap/less/dropdowns.less"; | //@import "../bower_components/bootstrap/less/dropdowns.less"; | ||||
//@import "../bower_components/bootstrap/less/button-groups.less"; | //@import "../bower_components/bootstrap/less/button-groups.less"; | ||||
@@ -1,155 +0,0 @@ | |||||
/* The MIT License */ | |||||
.dropzone, | |||||
.dropzone *, | |||||
.dropzone-previews, | |||||
.dropzone-previews * { | |||||
-webkit-box-sizing: border-box; | |||||
-moz-box-sizing: border-box; | |||||
box-sizing: border-box; | |||||
} | |||||
.dropzone { | |||||
position: relative; | |||||
border: 1px solid rgba(0,0,0,0.08); | |||||
background: rgba(0,0,0,0.02); | |||||
padding: 1em; | |||||
} | |||||
.dropzone.dz-clickable { | |||||
cursor: pointer; | |||||
} | |||||
.dropzone.dz-clickable .dz-message, | |||||
.dropzone.dz-clickable .dz-message span { | |||||
cursor: pointer; | |||||
} | |||||
.dropzone.dz-clickable * { | |||||
cursor: default; | |||||
} | |||||
.dropzone .dz-message { | |||||
opacity: 1; | |||||
-ms-filter: none; | |||||
filter: none; | |||||
} | |||||
.dropzone.dz-drag-hover { | |||||
border-color: rgba(0,0,0,0.15); | |||||
background: rgba(0,0,0,0.04); | |||||
} | |||||
.dropzone.dz-started .dz-message { | |||||
display: none; | |||||
} | |||||
.dropzone .dz-preview, | |||||
.dropzone-previews .dz-preview { | |||||
background: rgba(255,255,255,0.8); | |||||
position: relative; | |||||
display: inline-block; | |||||
margin: 17px; | |||||
vertical-align: top; | |||||
border: 1px solid #acacac; | |||||
padding: 6px 6px 6px 6px; | |||||
} | |||||
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail], | |||||
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] { | |||||
display: none; | |||||
} | |||||
.dropzone .dz-preview .dz-details, | |||||
.dropzone-previews .dz-preview .dz-details { | |||||
width: 50px; | |||||
height: 50px; | |||||
position: relative; | |||||
background: #ebebeb; | |||||
padding: 5px; | |||||
margin-bottom: 22px; | |||||
} | |||||
.dropzone .dz-preview .dz-details .dz-filename, | |||||
.dropzone-previews .dz-preview .dz-details .dz-filename { | |||||
overflow: hidden; | |||||
height: 100%; | |||||
} | |||||
.dropzone .dz-preview .dz-details img, | |||||
.dropzone-previews .dz-preview .dz-details img { | |||||
position: absolute; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100px; | |||||
height: 100px; | |||||
} | |||||
.dropzone .dz-preview .dz-details .dz-size, | |||||
.dropzone-previews .dz-preview .dz-details .dz-size { | |||||
position: absolute; | |||||
bottom: -28px; | |||||
left: 3px; | |||||
height: 28px; | |||||
line-height: 28px; | |||||
} | |||||
.dropzone .dz-preview.dz-error .dz-error-mark, | |||||
.dropzone-previews .dz-preview.dz-error .dz-error-mark { | |||||
display: block; | |||||
} | |||||
.dropzone .dz-preview.dz-success .dz-success-mark, | |||||
.dropzone-previews .dz-preview.dz-success .dz-success-mark { | |||||
display: block; | |||||
} | |||||
.dropzone .dz-preview:hover .dz-details img, | |||||
.dropzone-previews .dz-preview:hover .dz-details img { | |||||
display: none; | |||||
} | |||||
.dropzone .dz-preview .dz-success-mark, | |||||
.dropzone-previews .dz-preview .dz-success-mark, | |||||
.dropzone .dz-preview .dz-error-mark, | |||||
.dropzone-previews .dz-preview .dz-error-mark { | |||||
display: none; | |||||
position: absolute; | |||||
width: 40px; | |||||
height: 40px; | |||||
font-size: 30px; | |||||
text-align: center; | |||||
right: -10px; | |||||
top: -10px; | |||||
} | |||||
.dropzone .dz-preview .dz-success-mark, | |||||
.dropzone-previews .dz-preview .dz-success-mark { | |||||
color: #8cc657; | |||||
} | |||||
.dropzone .dz-preview .dz-error-mark, | |||||
.dropzone-previews .dz-preview .dz-error-mark { | |||||
color: #ee162d; | |||||
} | |||||
.dropzone .dz-preview .dz-progress, | |||||
.dropzone-previews .dz-preview .dz-progress { | |||||
position: absolute; | |||||
top: 100px; | |||||
left: 6px; | |||||
right: 6px; | |||||
height: 6px; | |||||
background: #d7d7d7; | |||||
display: none; | |||||
} | |||||
.dropzone .dz-preview .dz-progress .dz-upload, | |||||
.dropzone-previews .dz-preview .dz-progress .dz-upload { | |||||
display: block; | |||||
position: absolute; | |||||
top: 0; | |||||
bottom: 0; | |||||
left: 0; | |||||
width: 0%; | |||||
background-color: #8cc657; | |||||
} | |||||
.dropzone .dz-preview.dz-processing .dz-progress, | |||||
.dropzone-previews .dz-preview.dz-processing .dz-progress { | |||||
display: block; | |||||
} | |||||
.dropzone .dz-preview .dz-error-message, | |||||
.dropzone-previews .dz-preview .dz-error-message { | |||||
display: none; | |||||
position: absolute; | |||||
top: -5px; | |||||
left: -20px; | |||||
background: rgba(245,245,245,0.8); | |||||
padding: 8px 10px; | |||||
color: #800; | |||||
min-width: 140px; | |||||
max-width: 500px; | |||||
z-index: 500; | |||||
} | |||||
/*.dropzone .dz-preview:hover.dz-error .dz-error-message, | |||||
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message { | |||||
display: block; | |||||
}*/ |
@@ -1,59 +0,0 @@ | |||||
#home { | |||||
text-align: center; | |||||
.btn-cta { | |||||
margin: 30px 0; | |||||
} | |||||
h2 { | |||||
font-size: 65px; | |||||
margin-top: -10px; | |||||
margin-bottom: 45px; | |||||
} | |||||
padding: 50px; | |||||
} | |||||
#from-terminal, | |||||
#from-web { | |||||
.make-md-column(6); | |||||
h3 { | |||||
font-size: 30px; | |||||
} | |||||
} | |||||
#web { | |||||
border: 1px dashed @blue; | |||||
padding-top: 10px; | |||||
i { | |||||
font-size: 160px; | |||||
color: @blue; | |||||
} | |||||
p.click { | |||||
margin-top: -66px; | |||||
font-size: 18px; | |||||
} | |||||
border-radius: 5px; | |||||
} | |||||
#web, #terminal { | |||||
min-height: 250px; | |||||
} | |||||
#terminal { | |||||
padding: 40px 20px; | |||||
text-align: left; | |||||
color: #fff; | |||||
background: @dark-blue; | |||||
background: url(../images/terminal.svg); | |||||
background-repeat: no-repeat; | |||||
background-size: 100% auto; | |||||
font-family: @font-family-mono; | |||||
font-size: 11px; | |||||
} | |||||
.progress { | |||||
max-width: 80%; | |||||
margin: 0 auto; | |||||
} |
@@ -8,17 +8,28 @@ | |||||
#navigation { | #navigation { | ||||
ul { | ul { | ||||
float: right; | |||||
list-style: none; | list-style: none; | ||||
margin: 30px 0; | |||||
} | } | ||||
li { | li { | ||||
display: inline-block; | display: inline-block; | ||||
padding: 0 10px; | padding: 0 10px; | ||||
} | } | ||||
h1 { | h1 { | ||||
text-align: center; | |||||
font-family: @font-family-mono; | font-family: @font-family-mono; | ||||
float:left; | |||||
margin-bottom: 15px; | |||||
} | |||||
@media (min-width: @screen-sm-min) { | |||||
ul { | |||||
float: right; | |||||
margin: 30px 0; | |||||
} | |||||
h1 { | |||||
float: left | |||||
} | |||||
} | |||||
a { | |||||
} | } | ||||
} | } | ||||
@@ -52,7 +63,7 @@ h2 { | |||||
} | } | ||||
section { | section { | ||||
padding: 50px 0 | |||||
// padding: 50px 0 | |||||
} | } | ||||
img { | img { |
@@ -0,0 +1,101 @@ | |||||
#home { | |||||
text-align: center; | |||||
h2 { | |||||
font-size: 40px; | |||||
} | |||||
@media (min-width: @screen-sm-min) { | |||||
padding: 50px; | |||||
h2 { | |||||
font-size: 60px; | |||||
margin-top: -10px; | |||||
margin-bottom: 45px; | |||||
} | |||||
} | |||||
} | |||||
#from-terminal, | |||||
#from-web { | |||||
.make-md-column(6); | |||||
h3 { | |||||
font-size: 30px; | |||||
} | |||||
} | |||||
#web { | |||||
.transition(all @animation-duration ease); | |||||
border: 1px dashed @blue; | |||||
padding-top: 10px; | |||||
i { | |||||
font-size: 160px; | |||||
color: @blue; | |||||
} | |||||
p.click { | |||||
margin-top: -66px; | |||||
font-size: 18px; | |||||
} | |||||
border-radius: 5px; | |||||
.btn-cta { | |||||
padding: 5px 10px; | |||||
font-size: 14px; | |||||
} | |||||
} | |||||
#web, #terminal { | |||||
min-height: 150px; | |||||
@media (min-width: @screen-sm-min) { | |||||
min-height: 270px; | |||||
} | |||||
} | |||||
#web .uploading { | |||||
i { | |||||
.transition(font @animation-duration ease); | |||||
font-size: 40px; | |||||
} | |||||
p.click { | |||||
margin-top: -10px; | |||||
font-size: 14px; | |||||
} | |||||
} | |||||
.dragged { | |||||
background: @light-gray; | |||||
} | |||||
#terminal { | |||||
padding: 10px; | |||||
text-align: left; | |||||
color: #fff; | |||||
background: @dark-blue; | |||||
background: url(../images/terminal.svg); | |||||
background-repeat: no-repeat; | |||||
background-size: 100% auto; | |||||
font-family: @font-family-mono; | |||||
font-size: 11px; | |||||
@media (min-width: @screen-sm-min) { | |||||
padding: 30px 20px; | |||||
} | |||||
} | |||||
.progress { | |||||
max-width: 80%; | |||||
margin: 0 auto; | |||||
} | |||||
.all-files { | |||||
display: none; | |||||
} | |||||
.all-files .show { | |||||
display:block; | |||||
} |
@@ -22,11 +22,25 @@ | |||||
margin-top: 30px; | margin-top: 30px; | ||||
} | } | ||||
code { | code { | ||||
display:block; | |||||
padding: 20px; | |||||
background: @light-gray; | |||||
display: block; | |||||
padding: 10px 20px; | |||||
background: @dark-blue; | |||||
font-family: @font-family-mono; | font-family: @font-family-mono; | ||||
font-size: 12px; | font-size: 12px; | ||||
border-radius: 5px; | |||||
color: #fff; | |||||
text-align: left; | |||||
font-weight: 400; | |||||
text-wrap:none; | |||||
} | |||||
padding: 50px 0; | |||||
text-align: center; | |||||
.btn-cta { | |||||
margin: 30px 0; | |||||
cursor: pointer; | |||||
} | |||||
h4 { | |||||
text-align: left; | |||||
} | } | ||||
} | } | ||||
@@ -77,7 +91,7 @@ footer { | |||||
#contact { | #contact { | ||||
text-align: center; | text-align: center; | ||||
i { | i { | ||||
font-size: 60px; | |||||
font-size: 160px; | |||||
color: @blue; | color: @blue; | ||||
} | } | ||||
padding:100px 0; | padding:100px 0; |
@@ -0,0 +1,50 @@ | |||||
#reviews { | |||||
background: @light-gray; | |||||
padding: 130px 0; | |||||
.twitter-profile { | |||||
float: left; | |||||
display: block; | |||||
height: 75px; | |||||
margin-right: 20px; | |||||
-webkit-border-radius: 10px; | |||||
margin: auto 15px auto 0; | |||||
} | |||||
} | |||||
blockquote.twitter-tweet { | |||||
display: inline-block; | |||||
font-size: 15px; | |||||
line-height: 20px; | |||||
margin: 10px 5px; | |||||
padding: 0 16px 16px 16px; | |||||
text-align: right; | |||||
border: 0; | |||||
} | |||||
blockquote.twitter-tweet p { | |||||
font-size: 17px; | |||||
font-weight: normal; | |||||
line-height: 20px; | |||||
text-align: left; | |||||
} | |||||
blockquote.twitter-tweet a { | |||||
color: inherit; | |||||
font-weight: normal; | |||||
text-decoration: none; | |||||
outline: 0 none; | |||||
} | |||||
blockquote.twitter-tweet a:hover, | |||||
blockquote.twitter-tweet a:focus { | |||||
text-decoration: underline; | |||||
} | |||||
blockquote.tweet-xl p { | |||||
font-size: 22px; | |||||
line-height: 25px; | |||||
} |
@@ -1,14 +1,13 @@ | |||||
@import "bootstrap.less"; | @import "bootstrap.less"; | ||||
/* | |||||
@import "../bower_components/octicons/octicons/octicons.less"; | |||||
@octicons-font-path: "../bower_components/octicons/octicons/";*/ | |||||
@import "../bower_components/animate.less/animate.less"; | |||||
@import "config"; | @import "config"; | ||||
@import "global"; | |||||
@import "home"; | |||||
@import "pages"; | |||||
@import "dropzone"; | |||||
@import "includes/global"; | |||||
@import "includes/home"; | |||||
@import "includes/pages"; | |||||
@import "includes/reviews"; | |||||
@import "includes/transfersh-icons"; | |||||
@import "transfersh-icons"; |