Quellcode durchsuchen

Merge branch 'uvis-dev'

Conflicts:
	transfersh-server/static/index.html
	transfersh-server/static/scripts/main.js
	transfersh-server/static/styles/main.css
	transfersh-web/index.html
tags/v1.0.0
Remco vor 9 Jahren
Ursprung
Commit
68c48b775b
19 geänderte Dateien mit 909 neuen und 455 gelöschten Zeilen
  1. +1
    -0
      .gitignore
  2. +3
    -13
      Gruntfile.js
  3. +10
    -10
      package.json
  4. +189
    -1
      transfersh-server/static/images/terminal.svg
  5. +120
    -74
      transfersh-server/static/index.html
  6. +1
    -1
      transfersh-server/static/scripts/main.js
  7. +1
    -1
      transfersh-server/static/styles/main.css
  8. +133
    -0
      transfersh-web/images/terminal-top.svg
  9. +56
    -13
      transfersh-web/images/terminal.svg
  10. +124
    -76
      transfersh-web/index.html
  11. +6
    -65
      transfersh-web/scripts/main.js
  12. +1
    -1
      transfersh-web/styles/bootstrap.less
  13. +7
    -5
      transfersh-web/styles/config.less
  14. +30
    -7
      transfersh-web/styles/includes/global.less
  15. +67
    -64
      transfersh-web/styles/includes/home.less
  16. +6
    -12
      transfersh-web/styles/includes/pages.less
  17. +21
    -12
      transfersh-web/styles/includes/reviews.less
  18. +132
    -99
      transfersh-web/styles/main.css
  19. +1
    -1
      transfersh-web/styles/main.css.map

+ 1
- 0
.gitignore Datei anzeigen

@@ -13,3 +13,4 @@ bower_components/
node_modules/

transfersh-server/run.sh
transfersh-server/static

+ 3
- 13
Gruntfile.js Datei anzeigen

@@ -129,7 +129,7 @@ module.exports = function (grunt) {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/fonts/{,*/}*.*'
]
}
@@ -158,16 +158,7 @@ module.exports = function (grunt) {
}]
}
},
svgmin: {
dist: {
files: [{
expand: true,
cwd: '<%= yeoman.app %>/images',
src: '{,*/}*.svg',
dest: '<%= yeoman.dist %>/images'
}]
}
},

cssmin: {
dist: {
files: {
@@ -212,7 +203,7 @@ module.exports = function (grunt) {
'.htaccess',
'index.txt',
'404.txt',
'images/{,*/}*.{webp,gif}'
'images/{,*/}*.{webp,gif,svg}'
]
}]
},
@@ -236,7 +227,6 @@ module.exports = function (grunt) {
dist: [
'less',
'imagemin',
'svgmin',
'htmlmin'
]
}


+ 10
- 10
package.json Datei anzeigen

@@ -6,25 +6,25 @@
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-copy": "~0.6.0",
"grunt-concurrent": "~1.0.0",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-concat": "~0.5.0",
"grunt-contrib-uglify": "~0.6.0",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-cssmin": "~0.10.0",
"grunt-contrib-connect": "~0.8.0",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-copy": "~0.6.0",
"grunt-contrib-cssmin": "~0.10.0",
"grunt-contrib-htmlmin": "~0.3.0",
"grunt-contrib-less": "~0.11.4",
"grunt-contrib-imagemin": "0.8.1",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-less": "~0.11.4",
"grunt-contrib-uglify": "~0.6.0",
"grunt-contrib-watch": "~0.6.1",
"grunt-rev": "~0.1.0",
"grunt-usemin": "~2.4.0",
"grunt-svgmin": "1.0.0",
"grunt-concurrent": "~1.0.0",
"grunt-usemin": "~2.4.0",
"jshint-stylish": "~1.0.0",
"load-grunt-tasks": "~0.6.0",
"matchdep": "~0.3.0",
"time-grunt": "~1.0.0",
"jshint-stylish": "~1.0.0"
"time-grunt": "~1.0.0"
},
"engines": {
"node": ">=0.8.0"


+ 189
- 1
transfersh-server/static/images/terminal.svg Datei anzeigen

@@ -1 +1,189 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="350" height="201.676"><defs><clipPath id="c"><path d="M186.202 744.21h9.42v-9.42h-9.42v9.42z"/></clipPath><clipPath id="b"><path d="M170.79 744.21h9.42v-9.42h-9.42v9.42z"/></clipPath><clipPath id="a"><path d="M155.38 744.21h9.418v-9.42h-9.42v9.42z"/></clipPath></defs><g transform="translate(-73.571 -371.524)"><rect width="350" height="22.806" rx="3" x="73.571" y="371.524" fill="#85b5bb"/><g fill="#ff7050"><path d="M88.28 377.68c0 2.09-1.696 3.785-3.787 3.785-2.09 0-3.786-1.695-3.786-3.786 0-2.092 1.695-3.787 3.786-3.787 2.09 0 3.786 1.695 3.786 3.786" clip-path="url(#a)" opacity=".71"/></g><g fill="#ffed5d"><path d="M100.676 377.68c0 2.09-1.695 3.785-3.786 3.785-2.09 0-3.786-1.695-3.786-3.786 0-2.092 1.695-3.787 3.786-3.787 2.09 0 3.786 1.695 3.786 3.786" clip-path="url(#b)" opacity=".71"/></g><g fill="#93de7f"><path d="M112.82 377.68c0 2.09-1.694 3.785-3.785 3.785-2.09 0-3.786-1.695-3.786-3.786 0-2.092 1.694-3.787 3.785-3.787 2.09 0 3.786 1.695 3.786 3.786" clip-path="url(#c)" opacity=".71"/></g><path d="M423.57 570.972c0 1.23-1.094 2.228-2.447 2.228H76.02c-1.353 0-2.45-.997-2.45-2.228V384.387h350v186.585z" fill="#36535a"/></g></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="880.62976"
height="385.37302"
id="svg3340"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="terminal.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="1023"
id="namedview5700"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.82745079"
inkscape:cx="303.76759"
inkscape:cy="201.44631"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs3342">
<clipPath
id="clipPath60">
<path
d="m 186.202,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path62"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clipPath44">
<path
d="m 170.791,744.209 9.418,0 0,-9.418 -9.418,0 0,9.418 z"
id="path46"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clipPath28">
<path
d="m 155.379,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path30"
inkscape:connector-curvature="0" />
</clipPath>
</defs>
<metadata
id="metadata3345">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="matrix(2.5160848,0,0,2.5160848,-185.11191,-934.78601)"
id="layer1">
<rect
width="350.00003"
height="22.806349"
rx="3"
x="73.571411"
y="371.52405"
id="rect4487"
style="fill:#85b5bb;fill-opacity:1;stroke:none" />
<g
transform="matrix(0.80442929,0,0,-0.80442929,-44.289217,972.55477)"
id="g24"
style="fill:#ff7050">
<g
id="g26"
style="fill:#ff7050" />
<g
id="g32"
style="fill:#ff7050">
<g
clip-path="url(#clipPath28)"
id="g34"
style="opacity:0.71000701;fill:#ff7050">
<g
transform="translate(164.7979,739.5)"
id="g36"
style="fill:#ff7050">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path38"
style="fill:#ff7050;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
<g
transform="matrix(0.80442929,0,0,-0.80442929,-44.289217,972.55477)"
id="g40"
style="fill:#ffed5d">
<g
id="g42"
style="fill:#ffed5d" />
<g
id="g48"
style="fill:#ffed5d">
<g
clip-path="url(#clipPath44)"
id="g50"
style="opacity:0.71000701;fill:#ffed5d">
<g
transform="translate(180.209,739.5)"
id="g52"
style="fill:#ffed5d">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path54"
style="fill:#ffed5d;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
<g
transform="matrix(0.80442929,0,0,-0.80442929,-44.541757,972.55477)"
id="g56"
style="fill:#93de7f">
<g
id="g58"
style="fill:#93de7f" />
<g
id="g64"
style="fill:#93de7f">
<g
clip-path="url(#clipPath60)"
id="g66"
style="opacity:0.71000701;fill:#93de7f">
<g
transform="translate(195.6206,739.5)"
id="g68"
style="fill:#93de7f">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path70"
style="fill:#93de7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
<g
transform="matrix(0.70173695,0,0,-0.2729595,635.66274,523.03176)"
id="g76"
style="fill:#36535a;fill-opacity:1">
<path
d="m -302.23764,0 c 0,-3.351 -1.56167,-6.067 -3.48885,-6.067 l -491.78466,0 C -799.43833,-6.067 -801,-3.351 -801,0 l 0,507.933 498.76236,0 0,-507.933 z"
id="path78"
style="fill:#36535a;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0"
clip-path="none" />
</g>
</g>
<rect
style="fill:#36535a;fill-opacity:1;stroke:none"
id="rect5720"
width="43.507118"
height="147.4408"
x="343.22284"
y="223.42982" />
</svg>

+ 120
- 74
transfersh-server/static/index.html Datei anzeigen

@@ -16,8 +16,8 @@
<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+Code+Pro:300,400" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:400" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Droid+Sans+Mono" rel="stylesheet" type="text/css">
<script src="scripts/vendor/modernizr.js"></script>
</head>

@@ -42,8 +42,8 @@
<div id="navigation">
<div class="wrapper">
<h1>transfer.sh</h1>
<ul>
<li><a href="#samples">Sample use cases</a>
<ul class="hidden-xs">
<li><a href="#samples">sample use cases</a>
</li>
<li><a href="#contact">contact us</a>
</li>
@@ -54,52 +54,57 @@
<section id="home">
<div class="wrapper">
<h2>
Easy file sharing from the command line
</h2>

Easy file sharing from the command line</h2>
<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">
<p style="white-space:pre"></p>
</div>
</div>
<div id="from-web" class="col-md-6 col-xs-12">
<h3>Share from web</h3>
<div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12">
<div class="terminal-top">

</div>
<div id="terminal" class="terminal">
<code>
<span class="code-title"># Upload using cURL</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt
<br>
<br>
<span class="code-title"># Create an alias</span>
<br>$ transfer hello.txt
<br>##################################################### 100.0% https://transfer.sh/eibhM/hello.txt
</code>
</div>
<div id="web">
<a class="browse" href="#">
<i class="icon-upload-cloud"></i>
<p class="click">Drag your files here to upload or click to browse</p>
</a>
<code>
<br>
<span class="code-title"># Upload from web</span>
<br>Drag your files here, or <a class="browse" href="#"> click to browse.</a>
</code>
<input type="file" multiple="multiple" style="display: none">
<ul class="queue" style="color: black; list-style-type: none; margin: 0">
<ul class="queue">
<li>
</li>
</ul>
<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>
<br>
<div>
<span class="code-title"># Download all your files</span>
<br>
<br>
<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>

<div>
<a href="#features" class="btn-cta btn-home">learn more </a>
</div>
</div>
<div>
<br>
<br>
<a href="#features" class="btn-cta">learn more </a>
<br>
<br>
</div>
</div></section>



<section id="features">
<div class="wrapper container">
<div class="row">
<div class="row animated fadeInDown">
<div class="col-md-3 col-xs-6">
<i class="icon-terminal"></i>
<h3>Made for use with shell</h3>
@@ -117,7 +122,7 @@
<h3>Files stored for 14 days</h3>
</div>
</div>
<div class="row">
<div class="row animated fadeInDown">
<div class="col-md-offset-3 col-md-3 col-xs-6">
<i class="icon-tag"></i>
<h3>For free</h3>
@@ -139,21 +144,35 @@
</h2>
<div class="row">
<div class="col-md-6">
<h3>Uploading</h3>
<h4>Uploading is easy using curl.</h4>
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code>
<h4>Download the file.</h4>
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code>
<h3>How to upload</h3>
<div class="terminal-top">

</div>
<div class="terminal">
<code>
<span class="code-title"># Uploading is easy using curl</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
<br>
<br>
<span class="code-title"># Download the file</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
</code>
</div>
</div>
<div class="col-md-6">
<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; }
<br>$ alias transfer=transfer</code>
<h4>Now you can just use
<strong>transfer</strong> command</h4>
<code>$ transfer hello.txt</code>
<h3>Create an alias and add it to .bashrc</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Add this to .bashrc or it equivalent</span>
<br>transfer() { # write to output to tmpfile because of progress bar tmpfile=$( mktemp -t transferXXX ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }
<br>
<br>
<span class="code-title"># Now you can use transfer command</span>
<br>$ transfer hello.txt
</code>
</div>
</div>
</div>

@@ -163,29 +182,66 @@
<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>
<h3>Upload multiple files at once</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<br>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/
<br>
<br>
<span class="code-title"># Combining downloads as zip or tar archive</span>
<br>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
<br>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip
</code>
</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="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Encrypt files with password using gpk</span>
<br>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt
<br>
<br>
<span class="code-title"># Encrypt and upload</span>
<br>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt
</code>
</div>
</div>
</div>

</div>
<div class="row">
<div class="col-md-6">
<h3>Scan for malware</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Scan for malware or viruses using Clamav</span>
<br>wget http://www.eicar.org/download/eicar.com
<br>curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
<br><br>
<span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span>
<br>curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
<br>
</code>
</div>
</div>
<div class="col-md-6">
<h3>Send us your awesome example</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
</code>
</div>
</div>
</div>
</div>
</div>
</section>
@@ -193,7 +249,6 @@
<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="">
@@ -203,37 +258,27 @@
</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">&mdash; 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">&mdash; 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">&mdash; Jacob Lindgren (@jacoblindgren11) </a>
</blockquote>

</div>
<div class="col-md-6 col-xs-12">
<blockquote class="twitter-tweet" lang="en">
@@ -323,6 +368,7 @@
</script>

<script src="scripts/main.js"></script>

</body>

</html>

+ 1
- 1
transfersh-server/static/scripts/main.js
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 1
- 1
transfersh-server/static/styles/main.css
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


+ 133
- 0
transfersh-web/images/terminal-top.svg Datei anzeigen

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="750"
height="30"
id="svg4149">
<defs
id="defs4151">
<clipPath
id="clipPath60">
<path
d="m 186.202,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path62" />
</clipPath>
<clipPath
id="clipPath44">
<path
d="m 170.791,744.209 9.418,0 0,-9.418 -9.418,0 0,9.418 z"
id="path46" />
</clipPath>
<clipPath
id="clipPath28">
<path
d="m 155.379,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path30" />
</clipPath>
</defs>
<metadata
id="metadata4154">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-93.957497,-365.26607)"
id="layer1">
<path
d="m 85.371201,355.16455 789.901059,0 0,49.98291 -789.901059,0 z"
id="rect4487"
style="fill:#85b5bb;fill-opacity:1;stroke:none" />
<g
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.446)"
id="g24"
style="fill:#ff7050">
<g
id="g26"
style="fill:#ff7050" />
<g
id="g32"
style="fill:#ff7050">
<g
clip-path="url(#clipPath28)"
id="g34"
style="opacity:0.71000701;fill:#ff7050">
<g
transform="translate(164.7979,739.5)"
id="g36"
style="fill:#ff7050">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path38"
style="fill:#ff7050;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</g>
</g>
<g
transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.507)"
id="g40"
style="fill:#ffed5d">
<g
id="g42"
style="fill:#ffed5d" />
<g
id="g48"
style="fill:#ffed5d">
<g
clip-path="url(#clipPath44)"
id="g50"
style="opacity:0.71000701;fill:#ffed5d">
<g
transform="translate(180.209,739.5)"
id="g52"
style="fill:#ffed5d">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path54"
style="fill:#ffed5d;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</g>
</g>
<g
transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1453.4765)"
id="g56"
style="fill:#93de7f">
<g
id="g58"
style="fill:#93de7f" />
<g
id="g64"
style="fill:#93de7f">
<g
clip-path="url(#clipPath60)"
id="g66"
style="opacity:0.71000701;fill:#93de7f">
<g
transform="translate(195.6206,739.5)"
id="g68"
style="fill:#93de7f">
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path70"
style="fill:#93de7f;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
</g>
</g>
</g>
</g>
</svg>

+ 56
- 13
transfersh-web/images/terminal.svg Datei anzeigen

@@ -7,29 +7,60 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="350.00003"
height="201.67628"
id="svg3340">
width="880.62976"
height="385.37302"
id="svg3340"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="terminal.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1680"
inkscape:window-height="1023"
id="namedview5700"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.82745079"
inkscape:cx="303.76759"
inkscape:cy="201.44631"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs3342">
<clipPath
id="clipPath60">
<path
d="m 186.202,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path62" />
id="path62"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clipPath44">
<path
d="m 170.791,744.209 9.418,0 0,-9.418 -9.418,0 0,9.418 z"
id="path46" />
id="path46"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clipPath28">
<path
d="m 155.379,744.209 9.419,0 0,-9.418 -9.419,0 0,9.418 z"
id="path30" />
id="path30"
inkscape:connector-curvature="0" />
</clipPath>
</defs>
<metadata
@@ -40,12 +71,12 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-73.571411,-371.52405)"
transform="matrix(2.5160848,0,0,2.5160848,-185.11191,-934.78601)"
id="layer1">
<rect
width="350.00003"
@@ -76,7 +107,8 @@
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path38"
style="fill:#ff7050;fill-opacity:1;fill-rule:nonzero;stroke:none" />
style="fill:#ff7050;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
@@ -102,7 +134,8 @@
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path54"
style="fill:#ffed5d;fill-opacity:1;fill-rule:nonzero;stroke:none" />
style="fill:#ffed5d;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
@@ -128,19 +161,29 @@
<path
d="m 0,0 c 0,-2.601 -2.108,-4.709 -4.709,-4.709 -2.601,0 -4.709,2.108 -4.709,4.709 0,2.601 2.108,4.709 4.709,4.709 C -2.108,4.709 0,2.601 0,0"
id="path70"
style="fill:#93de7f;fill-opacity:1;fill-rule:nonzero;stroke:none" />
style="fill:#93de7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
<g
transform="matrix(0.70173695,0,0,-0.36734185,635.66274,570.97167)"
transform="matrix(0.70173695,0,0,-0.2729595,635.66274,523.03176)"
id="g76"
style="fill:#36535a;fill-opacity:1">
<path
d="m -302.23764,0 c 0,-3.351 -1.56167,-6.067 -3.48885,-6.067 l -491.78466,0 C -799.43833,-6.067 -801,-3.351 -801,0 l 0,507.933 498.76236,0 0,-507.933 z"
id="path78"
style="fill:#36535a;fill-opacity:1;fill-rule:nonzero;stroke:none" />
style="fill:#36535a;fill-opacity:1;fill-rule:nonzero;stroke:none"
inkscape:connector-curvature="0"
clip-path="none" />
</g>
</g>
<rect
style="fill:#36535a;fill-opacity:1;stroke:none"
id="rect5720"
width="43.507118"
height="147.4408"
x="343.22284"
y="223.42982" />
</svg>

+ 124
- 76
transfersh-web/index.html Datei anzeigen

@@ -16,8 +16,8 @@
<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+Code+Pro:300,400' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
<!-- build:js scripts/vendor/modernizr.js -->
<script src="bower_components/modernizr/modernizr.js"></script>
<!-- endbuild -->
@@ -44,8 +44,8 @@
<div id="navigation">
<div class="wrapper">
<h1>transfer.sh</h1>
<ul>
<li><a href="#samples">Sample use cases</a>
<ul class="hidden-xs">
<li><a href="#samples">sample use cases</a>
</li>
<li><a href="#contact">contact us</a>
</li>
@@ -56,52 +56,57 @@
<section id="home">
<div class="wrapper">
<h2>
Easy file sharing from the command line
</h2>

Easy file sharing from the command line</h2>
<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">
<p style='white-space:pre'></p>
</div>
</div>
<div id="from-web" class="col-md-6 col-xs-12">
<h3>Share from web</h3>
<div id="from-terminal" class=" box col-md-8 col-md-offset-2 col-xs-12">
<div class="terminal-top">

</div>
<div id="terminal" class="terminal">
<code>
<span class="code-title"># Upload using cURL</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt https://transfer.sh/66nb8/hello.txt
<br>
<br>
<span class="code-title"># Create an alias</span>
<br>$ transfer hello.txt
<br>##################################################### 100.0% https://transfer.sh/eibhM/hello.txt
</code>
</div>
<div id="web">
<a class="browse" href="#">
<i class="icon-upload-cloud"></i>
<p class="click">Drag your files here to upload or click to browse</p>
</a>
<code>
<br>
<span class="code-title"># Upload from web</span>
<br>Drag your files here, or <a class="browse" href="#"> click to browse.</a>
</code>
<input type="file" multiple="multiple" style='display: none;' />
<ul class='queue' style='color: black; list-style-type: none; margin: 0;'>
<ul class='queue'>
<li>
</li>
</ul>
<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>
<br>
<div>
<span class="code-title"># Download all your files</span>
<br/>
<br/>
<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>

<div>
<a href="#features" class="btn-cta btn-home">learn more</i> </a>
</div>
</div>
<div>
<br>
<br>
<a href="#features" class="btn-cta">learn more</i> </a>
<br>
<br>
</div>
</section>



<section id="features">
<div class="wrapper container">
<div class="row">
<div class="row animated fadeInDown ">
<div class="col-md-3 col-xs-6">
<i class="icon-terminal"></i>
<h3>Made for use with shell</h3>
@@ -119,7 +124,7 @@
<h3>Files stored for 14 days</h3>
</div>
</div>
<div class="row">
<div class="row animated fadeInDown">
<div class="col-md-offset-3 col-md-3 col-xs-6">
<i class="icon-tag"></i>
<h3>For free</h3>
@@ -141,21 +146,35 @@
</h2>
<div class="row">
<div class="col-md-6 ">
<h3>Uploading</h3>
<h4>Uploading is easy using curl.</h4>
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code>
<h4>Download the file.</h4>
<code>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt</code>
<h3>How to upload</h3>
<div class="terminal-top">

</div>
<div class="terminal">
<code>
<span class="code-title"># Uploading is easy using curl</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
<br>
<br>
<span class="code-title"># Download the file</span>
<br>$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
</code>
</div>
</div>
<div class="col-md-6 ">
<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 transferXXX ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }
<br/>$ alias transfer=transfer</code>
<h4>Now you can just use
<strong>transfer</strong> command</h4>
<code>$ transfer hello.txt</code>
<h3>Create an alias and add it to .bashrc</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Add this to .bashrc or it equivalent</span>
<br/>transfer() { # write to output to tmpfile because of progress bar tmpfile=$( mktemp -t transferXXX ) curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }
<br>
<br>
<span class="code-title"># Now you can use transfer command</span>
<br>$ transfer hello.txt
</code>
</div>
</div>
</div>

@@ -164,30 +183,67 @@

<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>
<div class="col-md-6 ">
<h3>Upload multiple files at once</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<br>$ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/
<br>
<br>
<span class="code-title"># Combining downloads as zip or tar archive</span>
<br>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
<br/>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip
</code>
</div>

<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>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Encrypt files with password using gpk</span>
<br>$ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt
<br>
<br>
<span class="code-title"># Encrypt and upload</span>
<br>$ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt
</code>
</div>
</div>

</div>
<div class="row">
<div class="col-md-6">
<h3>Scan for malware</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
<span class="code-title"># Scan for malware or viruses using Clamav</span>
<br>wget http://www.eicar.org/download/eicar.com
<br>curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
<br><br>
<span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span>
<br>curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
<br>
</code>
</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>
<h3>Send us your awesome example</h3>
<div class="terminal-top">
</div>
<div class="terminal">
<code>
</code>
</div>
</div>
</div>

</div>
</div>
</section>
@@ -195,7 +251,6 @@
<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="">
@@ -205,37 +260,27 @@
</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">&mdash; 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">&mdash; 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">&mdash; Jacob Lindgren (@jacoblindgren11) </a>
</blockquote>

</div>
<div class="col-md-6 col-xs-12">
<blockquote class="twitter-tweet" lang="en">
@@ -326,13 +371,16 @@

<!-- build:js scripts/main.js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/typed.js/js/typed.js"></script>
<script src="bower_components/highlightjs/highlight.pack.js"></script>
<!-- </*script*/ src="bower_components/typed.js/js/typed.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/typewriter-bundle.js"></script>
<script src="scripts/main.js"></script>
<!-- endbuild -->

</body>

</html>

+ 6
- 65
transfersh-web/scripts/main.js Datei anzeigen

@@ -1,54 +1,5 @@
$(document).ready(function() {

// 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
});
*/
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
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
@@ -63,14 +14,6 @@ $(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() {
@@ -81,7 +24,7 @@ $(document).ready(function() {
$('.browse').addClass('uploading');
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="upload-progress"><span></span><div class="bar" style="width:0%;">####################################################</div></div><p>Uploading... ' + file.name + '</p></div>'));
$(li).appendTo($('.queue'));

var xhr = new XMLHttpRequest();
@@ -90,11 +33,12 @@ $(document).ready(function() {
var pc = parseInt((e.loaded / e.total * 100));
$('.upload-progress', $(li)).show();
$('.upload-progress .bar', $(li)).css('width', pc + "%");
$('.upload-progress span ').empty().append(pc + "%");
}, false);

xhr.onreadystatechange = function(e) {
if (xhr.readyState == 4) {
$('.upload-progress', $(li)).hide();
/* $('.upload-progress', $(li)).hide();*/
$('#web').addClass('uploading');
// progress.className = (xhr.status == 200 ? "success" : "failure");
if (xhr.status == 200) {
@@ -110,11 +54,8 @@ $(document).ready(function() {
$(".download-tar").attr("href", URI("(" + files.join(",") + ").tar.gz").absoluteTo(location.href).toString());

$(".all-files").addClass('show');

}

};

// should queue all uploads.

// start upload
@@ -124,15 +65,15 @@ $(document).ready(function() {
};

$(document).bind("dragenter", function(event) {

event.preventDefault();
}).bind("dragover", function(event) {
event.preventDefault();
// show drop indicator
$('#terminal').addClass('dragged');
$('#web').addClass('dragged');
}).bind("dragleave", function(event) {
$('#web').removeClass('dragged');
console.log('asdasd');
$('#terminal').removeClass('dragged');
$('#web').removeClass('dragged');

}).bind("drop dragdrop", function(event) {
var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files;


+ 1
- 1
transfersh-web/styles/bootstrap.less Datei anzeigen

@@ -9,7 +9,7 @@
// Core CSS
@import "../bower_components/bootstrap/less/scaffolding.less";
@import "../bower_components/bootstrap/less/type.less";
//@import "../bower_components/bootstrap/less/code.less";
/* @import "../bower_components/bootstrap/less/code.less"; */
@import "../bower_components/bootstrap/less/grid.less";
//@import "../bower_components/bootstrap/less/tables.less";
//@import "../bower_components/bootstrap/less/forms.less";


+ 7
- 5
transfersh-web/styles/config.less Datei anzeigen

@@ -8,14 +8,16 @@

@navbar-default-bg: #fff;

@lik-color: @text-color;
@text-color: @dark-blue;

@progress-bg: @blue;
@text-color: @dark-gray;
@link-color: @dark-gray;


@progress-bg: @blue;

// Typography
@font-family-base: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-mono: "Source code Pro", monospace;
@font-family-mono: "Droid Sans Mono", monospace;

@headings-font-family: @font-family-base;
@headings-font-weight: 100;
@@ -28,4 +30,4 @@


// Layout
@grid-gutter-width: 76px;
@grid-gutter-width: 70px;

+ 30
- 7
transfersh-web/styles/includes/global.less Datei anzeigen

@@ -7,32 +7,41 @@
}

#navigation {
margin-top: 30px;
ul {
list-style: none;
max-width: 300px;
margin: 0 auto;
}
li {
display: inline-block;
padding: 0 10px;
padding: 0 15px;
}
h1 {
text-align: center;
font-family: @font-family-mono;
margin-bottom: 15px;

color: @dark-blue;
font-size: 35px;
}
@media (min-width: @screen-sm-min) {
ul {
float: right;
margin: 30px 0;
margin: 33px 0;
}
h1 {
float: left
}
}
a {
text-decoration: none;
font-size: 15px;
color: @dark-gray;
}
}



h2 {
text-align: center;
font-size: 35px;
@@ -47,8 +56,9 @@ h2 {
border: 2px solid @red;
font-size: 20px;
color: @red;
-webkit-border-radius: 10px;
border-radius: 10px;
display: inline-block;
text-decoration: none;
&:hover {
text-decoration: none;
border-color: @dark-blue;
@@ -71,7 +81,20 @@ img {
margin: 0 auto;
}

a:hover {
text-decoration: none;
color: inherit ;
a {
text-decoration: underline;
color: @dark-blue;
&:hover {
text-decoration: none;
color: inherit;
}
}



::selection {
background: @red;
}
::-moz-selection {
background: @red;
}

+ 67
- 64
transfersh-web/styles/includes/home.less Datei anzeigen

@@ -1,95 +1,98 @@
#home {
text-align: center;

h2 {
font-size: 40px;
font-size: 30px;
}

@media (min-width: @screen-sm-min) {
padding: 50px;
h2 {
font-size: 60px;
margin-top: -10px;
font-size: 45px;
margin-top: -20px;
margin-bottom: 45px;
}
}

}

#from-terminal,
#from-web {
.make-md-column(6);
h3 {
font-size: 30px;
.btn-home {
margin: 50px 0 25px 0;
}
}

#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 {
word-wrap: break-word;
font-size: 12px;
.code-title {
color: @red;
}
}

#web, #terminal {
min-height: 150px;
padding: 25px 0 0 10px;
@media (min-width: @screen-sm-min) {
min-height: 270px;
padding: 25px 0 0 20px;
font-size: 15px
}
code {
font-family: @font-family-mono;
}
font-family: @font-family-mono;

text-align: left;
color: #fff;
.transition(all @animation-duration ease);
}

#web .uploading {

i {
.transition(font @animation-duration ease);
font-size: 40px;
}
p.click {
margin-top: -10px;
#web {
margin-top: -2px;
padding-top: 0;
padding-bottom: 50px;
width: 100%;
display: block;
background: @dark-blue;
.transition(all @animation-duration ease);
.btn-cta {
padding: 5px 10px;
font-size: 14px;
border-color: #fff;
}
.queue {
margin: 0;
list-style: none;
padding: 0;
}
a {
color: #fff;
}
.border-bottom-radius (5px);

}


.dragged {
background: @light-gray;
.dragged {
background: lighten(@dark-blue, 5%)!important;
}


#terminal {
padding: 10px;
text-align: left;
color: #fff;
.terminal {
.border-top-radius (0);
.border-bottom-radius (5px);
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;
}
// background: url(../images/terminal.svg);
backbground-repeat: no-repeat;
background-size: cover;
}

.progress {
.terminal-top {
.border-top-radius (5px);
background: url(../images/terminal-top.svg);
background-repeat: no-repeat;
background-size: cover;
height: 30px;
}

.upload-progress {
max-width: 80%;
margin: 0 auto;
.bar {
word-wrap: normal;
overflow: hidden;
}
span {
float: right;
}
}

.all-files {
@@ -97,5 +100,5 @@
}

.all-files .show {
display:block;
}
display: block;
}

+ 6
- 12
transfersh-web/styles/includes/pages.less Datei anzeigen

@@ -21,18 +21,6 @@
h4 {
margin-top: 30px;
}
code {
display: block;
padding: 10px 20px;
background: @dark-blue;
font-family: @font-family-mono;
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 {
@@ -42,6 +30,11 @@
h4 {
text-align: left;
}
.terminal {
padding: 20px 15px;
font-size: 13px;
min-height: 230px;
}
}

#share {
@@ -64,6 +57,7 @@
padding: 75px 0;
a {
color: #fff;
text-decoration: none;
}
}



+ 21
- 12
transfersh-web/styles/includes/reviews.less Datei anzeigen

@@ -4,13 +4,12 @@
.twitter-profile {
float: left;
display: block;
height: 75px;
margin-right: 20px;
-webkit-border-radius: 10px;
margin: auto 15px auto 0;
height: 90px;
border-radius: 10px;
margin: 3px 15px auto 20px;
}
}

}

blockquote.twitter-tweet {
display: inline-block;
@@ -18,13 +17,18 @@ blockquote.twitter-tweet {
line-height: 20px;
margin: 10px 5px;
padding: 0 16px 16px 16px;

text-align: right;
border: 0;

img {
margin: 0 auto;
}
@media (max-width: @screen-xs) {
.twitter-profile {
display:none!important;
}
}
}


blockquote.twitter-tweet p {
font-size: 17px;
font-weight: normal;
@@ -44,7 +48,12 @@ blockquote.twitter-tweet a:focus {
text-decoration: underline;
}
blockquote.tweet-xl p {
font-size: 22px;
line-height: 25px;
}
blockquote.tweet-xl {
p {
font-size: 22px;
line-height: 25px;
}
a {
font-size: 22px;
}
}

+ 132
- 99
transfersh-web/styles/main.css Datei anzeigen

@@ -259,7 +259,7 @@ body {
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.42857143;
color: #36535a;
color: #3b3b3b;
background-color: #ffffff;
}
input,
@@ -271,12 +271,12 @@ textarea {
line-height: inherit;
}
a {
color: #428bca;
color: #3b3b3b;
text-decoration: none;
}
a:hover,
a:focus {
color: #2a6496;
color: #151515;
text-decoration: underline;
}
a:focus {
@@ -622,11 +622,12 @@ address {
font-style: normal;
line-height: 1.42857143;
}
/* @import "../bower_components/bootstrap/less/code.less"; */
.container {
margin-right: auto;
margin-left: auto;
padding-left: 38px;
padding-right: 38px;
padding-left: 35px;
padding-right: 35px;
}
.container:before,
.container:after {
@@ -646,22 +647,22 @@ address {
}
@media (min-width: 768px) {
.container {
width: 796px;
width: 790px;
}
}
@media (min-width: 992px) {
.container {
width: 1016px;
width: 1010px;
}
}
@media (min-width: 1200px) {
.container {
width: 1216px;
width: 1210px;
}
}
.row {
margin-left: -38px;
margin-right: -38px;
margin-left: -35px;
margin-right: -35px;
}
.row:before,
.row:after {
@@ -682,8 +683,8 @@ address {
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-left: 38px;
padding-right: 38px;
padding-left: 35px;
padding-right: 35px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
@@ -5363,27 +5364,39 @@ body {
color: white;
padding: 0.2em 0;
}
#navigation {
margin-top: 30px;
}
#navigation ul {
list-style: none;
max-width: 300px;
margin: 0 auto;
}
#navigation li {
display: inline-block;
padding: 0 10px;
padding: 0 15px;
}
#navigation h1 {
text-align: center;
font-family: "Source code Pro", monospace;
font-family: "Droid Sans Mono", monospace;
margin-bottom: 15px;
color: #36535a;
font-size: 35px;
}
@media (min-width: 768px) {
#navigation ul {
float: right;
margin: 30px 0;
margin: 33px 0;
}
#navigation h1 {
float: left;
}
}
#navigation a {
text-decoration: none;
font-size: 15px;
color: #3b3b3b;
}
h2 {
text-align: center;
font-size: 35px;
@@ -5400,8 +5413,9 @@ h2 {
border: 2px solid #e96e57;
font-size: 20px;
color: #e96e57;
-webkit-border-radius: 10px;
border-radius: 10px;
display: inline-block;
text-decoration: none;
}
.btn-cta:hover {
text-decoration: none;
@@ -5413,8 +5427,8 @@ h2 {
max-width: 1100px;
margin-right: auto;
margin-left: auto;
padding-left: 38px;
padding-right: 38px;
padding-left: 35px;
padding-right: 35px;
}
.wrapper:before,
.wrapper:after {
@@ -5434,121 +5448,136 @@ h2 {
}
@media (min-width: 768px) {
.wrapper {
width: 796px;
width: 790px;
}
}
@media (min-width: 992px) {
.wrapper {
width: 1016px;
width: 1010px;
}
}
@media (min-width: 1200px) {
.wrapper {
width: 1216px;
width: 1210px;
}
}
img {
max-width: 100%;
margin: 0 auto;
}
a {
text-decoration: underline;
color: #36535a;
}
a:hover {
text-decoration: none;
color: inherit ;
color: inherit;
}
::selection {
background: #e96e57;
}
::-moz-selection {
background: #e96e57;
}
#home {
text-align: center;
}
#home h2 {
font-size: 40px;
font-size: 30px;
}
@media (min-width: 768px) {
#home {
padding: 50px;
}
#home h2 {
font-size: 60px;
margin-top: -10px;
font-size: 45px;
margin-top: -20px;
margin-bottom: 45px;
}
}
#from-terminal,
#from-web {
position: relative;
min-height: 1px;
padding-left: 38px;
padding-right: 38px;
#home .btn-home {
margin: 50px 0 25px 0;
}
@media (min-width: 992px) {
#from-terminal,
#from-web {
float: left;
width: 50%;
#web,
.terminal {
word-wrap: break-word;
font-size: 12px;
padding: 25px 0 0 10px;
font-family: "Droid Sans Mono", monospace;
text-align: left;
color: #fff;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
#web .code-title,
.terminal .code-title {
color: #e96e57;
}
@media (min-width: 768px) {
#web,
.terminal {
padding: 25px 0 0 20px;
font-size: 15px;
}
}
#from-terminal h3,
#from-web h3 {
font-size: 30px;
#web code,
.terminal code {
font-family: "Droid Sans Mono", monospace;
}
#web {
margin-top: -2px;
padding-top: 0;
padding-bottom: 50px;
width: 100%;
display: block;
background: #36535a;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
border: 1px dashed #85b5bb;
padding-top: 10px;
border-radius: 5px;
}
#web i {
font-size: 160px;
color: #85b5bb;
}
#web p.click {
margin-top: -66px;
font-size: 18px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
#web .btn-cta {
padding: 5px 10px;
font-size: 14px;
border-color: #fff;
}
#web,
#terminal {
min-height: 150px;
}
@media (min-width: 768px) {
#web,
#terminal {
min-height: 270px;
}
}
#web .uploading i {
-webkit-transition: font 0.3s ease;
transition: font 0.3s ease;
font-size: 40px;
#web .queue {
margin: 0;
list-style: none;
padding: 0;
}
#web .uploading p.click {
margin-top: -10px;
font-size: 14px;
#web a {
color: #fff;
}
.dragged {
background: #f6f8f8;
background: #40626a !important;
}
#terminal {
padding: 10px;
text-align: left;
color: #fff;
.terminal {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
background: #36535a;
background: url(../images/terminal.svg);
background-repeat: no-repeat;
background-size: 100% auto;
font-family: "Source code Pro", monospace;
font-size: 11px;
backbground-repeat: no-repeat;
background-size: cover;
}
@media (min-width: 768px) {
#terminal {
padding: 30px 20px;
}
.terminal-top {
border-top-right-radius: 5px;
border-top-left-radius: 5px;
background: url(../images/terminal-top.svg);
background-repeat: no-repeat;
background-size: cover;
height: 30px;
}
.progress {
.upload-progress {
max-width: 80%;
margin: 0 auto;
}
.upload-progress .bar {
word-wrap: normal;
overflow: hidden;
}
.upload-progress span {
float: right;
}
.all-files {
display: none;
@@ -5580,18 +5609,6 @@ a:hover {
#samples h4 {
margin-top: 30px;
}
#samples code {
display: block;
padding: 10px 20px;
background: #36535a;
font-family: "Source code Pro", monospace;
font-size: 12px;
border-radius: 5px;
color: #fff;
text-align: left;
font-weight: 400;
text-wrap: none;
}
#samples .btn-cta {
margin: 30px 0;
cursor: pointer;
@@ -5599,6 +5616,11 @@ a:hover {
#samples h4 {
text-align: left;
}
#samples .terminal {
padding: 20px 15px;
font-size: 13px;
min-height: 230px;
}
#share {
text-align: center;
background: #85b5bb;
@@ -5619,6 +5641,7 @@ a:hover {
}
#share a {
color: #fff;
text-decoration: none;
}
footer {
text-align: center;
@@ -5664,10 +5687,9 @@ footer img {
#reviews .twitter-profile {
float: left;
display: block;
height: 75px;
margin-right: 20px;
-webkit-border-radius: 10px;
margin: auto 15px auto 0;
height: 90px;
border-radius: 10px;
margin: 3px 15px auto 20px;
}
blockquote.twitter-tweet {
display: inline-block;
@@ -5678,6 +5700,14 @@ blockquote.twitter-tweet {
text-align: right;
border: 0;
}
blockquote.twitter-tweet img {
margin: 0 auto;
}
@media (max-width: 480px) {
blockquote.twitter-tweet .twitter-profile {
display: none!important;
}
}
blockquote.twitter-tweet p {
font-size: 17px;
font-weight: normal;
@@ -5698,6 +5728,9 @@ blockquote.tweet-xl p {
font-size: 22px;
line-height: 25px;
}
blockquote.tweet-xl a {
font-size: 22px;
}
@font-face {
font-family: "transfersh";
src: url("../fonts/transfersh.eot");


+ 1
- 1
transfersh-web/styles/main.css.map
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


Laden…
Abbrechen
Speichern