summaryrefslogtreecommitdiff
path: root/view.go
diff options
context:
space:
mode:
Diffstat (limited to 'view.go')
-rw-r--r--view.go112
1 files changed, 112 insertions, 0 deletions
diff --git a/view.go b/view.go
new file mode 100644
index 0000000..3530bf0
--- /dev/null
+++ b/view.go
@@ -0,0 +1,112 @@
+package main
+
+func getTemplate() string {
+ return `<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>{{.URL}}</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style>/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}a:active,a:hover{outline:0}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}.column{width:100%;float:left;box-sizing:border-box}@media (min-width:400px){.container{width:85%;padding:0}}@media (min-width:550px){.container{width:80%}.column{margin-left:4%}.column:first-child{margin-left:0}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#222}h4{margin-top:0;margin-bottom:2rem;font-weight:300;font-size:2.4rem;line-height:1.35;letter-spacing:-.08rem}@media (min-width:550px){h4{font-size:3rem}}a{color:#1EAEDB}a:hover{color:#0FA0CE}blockquote{margin-bottom:2.5rem}.container:after,.row:after{content:"";display:table;clear:both}.margin-top{margin-top:20px}.dir,.dir:hover{color:#1EAEDB}.dir:hover{text-decoration:none}div.icon{height:32px;width:32px;position:relative;margin:15px;overflow:hidden;display:inline-block}span.icono-folder{color: #1EAEDB}.file,span.icono-caretUp,span.icono-home,span.icono-file{color:#000}</style>
+ <link rel="stylesheet" href="https://saeedalipoor.github.io/icono/icono.min.css">
+ {{.Favicon}}
+</head>
+<body>
+ <div class="container">
+ <div class="row">
+ <div class="column margin-top">
+ {{.URL}}</h4-->
+ <h4><a href="/" title="Go back to root" class="file"><span class="icono-home"></span> {{.URL}}</a></h4>
+ {{if .AllowUpload}}<p>To upload please click <a href="/upload" title="Upload">here</a>.</p>{{end}}
+ <blockquote>
+ {{if ne .URL "/"}}
+ <a class="dir" href=".."><span class="icono-caretUp"></span> .. (up a dir)</a><br><br>
+ {{end}}
+ {{range .Links}}
+ <a href="{{.Url}}" class="{{if .IsDir}}dir" title="Directory: {{.Text}}"><span class="icono-folder"></span>{{else}}file" title="File: {{.Text}}"><span class="icono-file"></span>{{end}} {{.Text}}</a><br>
+ {{end}}
+ </blockquote>
+ </div>
+ </div>
+ </div>
+</body>
+</html>`
+}
+
+func get404() string {
+ return `<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Not Found - {{.URL}}</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style>/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}a:active,a:hover{outline:0}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}@media (min-width:400px){.container{width:85%;padding:0}}@media (min-width:550px){.container{width:80%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#222}h3{margin-top:0;margin-bottom:2rem;font-weight:300;font-size:3rem;line-height:1.3;letter-spacing:-.1rem}@media (min-width:550px){h3{font-size:3.6rem}}p{margin-top:0}a{color:#1EAEDB}a:hover{color:#0FA0CE}.button{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:transparent;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}.button:focus,.button:hover{color:#333;border-color:#888;outline:0}.button.button-primary{color:#FFF;background-color:#33C3F0;border-color:#33C3F0}.button.button-primary:focus,.button.button-primary:hover{color:#FFF;background-color:#1EAEDB;border-color:#1EAEDB}.button{margin-bottom:1rem}p{margin-bottom:2.5rem}.container:after{content:"";display:table;clear:both}.section{padding:8rem 0 7rem;text-align:center}.section-description,.section-heading{margin-bottom:1.2rem}</style>
+ {{.Favicon}}
+</head>
+<body>
+<div class="section">
+ <div class="container">
+ <h3 class="section-heading">Not Found - {{.URL}}</h3>
+ <p class="section-description">
+ Please check for typos in your url. </p>
+ <p class="section-description">
+ <a href="/" class="button button-primary">Go back to root</a>
+ </p>
+ </div>
+</div>
+</body>
+</html>`
+}
+
+func getUpload() string {
+ return `<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Upload Form</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+<style>/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}input{color:inherit;font:inherit;margin:0}input[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}@media (min-width:400px){.container{width:85%;padding:0}}@media (min-width:550px){.container{width:80%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#222}h3{margin-top:0;margin-bottom:2rem;font-weight:300;font-size:3rem;line-height:1.3;letter-spacing:-.1rem}@media (min-width:550px){h3{font-size:3.6rem}}p{margin-top:0}input[type=submit]{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:transparent;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}input[type=submit]:focus,input[type=submit]:hover{color:#333;border-color:#888;outline:0}input[type=submit].button-primary{color:#FFF;background-color:#33C3F0;border-color:#33C3F0}input[type=submit].button-primary:focus,input[type=submit].button-primary:hover{color:#FFF;background-color:#1EAEDB;border-color:#1EAEDB}input{margin-bottom:1.5rem}form,p{margin-bottom:2.5rem}.container:after{content:"";display:table;clear:both}.section{padding:8rem 0 7rem;text-align:center}.section-description,.section-heading{margin-bottom:1.2rem}.section-description{max-width:60%;margin-left:auto;margin-right:auto}</style>
+ {{.Favicon}}
+</head>
+<body>
+<div class="section">
+ <div class="container">
+ <h3 class="section-heading">Upload Form</h3>
+ <form class="section-description" method="POST" action="/upload?html=1" enctype="multipart/form-data">
+ <p class="section-description" for="file">You are going to upload a file. Here you can search to add it.</p>
+ <input type="file" value="Search for your file" id="file" name="file">
+ <br>
+ <input class="button button-primary" type="submit" value="Submit">
+ </form>
+ </div>
+</div>
+</body>
+</html>
+`
+}
+
+func getUploaded() string {
+ return `<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Uploaded {{.File}}</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <style>/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}a:active,a:hover{outline:0}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}.container{position:relative;width:100%;max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box}@media (min-width:400px){.container{width:85%;padding:0}}@media (min-width:550px){.container{width:80%}}html{font-size:62.5%}body{font-size:1.5em;line-height:1.6;font-weight:400;font-family:Raleway,HelveticaNeue,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#222}h3{margin-top:0;margin-bottom:2rem;font-weight:300;font-size:3rem;line-height:1.3;letter-spacing:-.1rem}@media (min-width:550px){h3{font-size:3.6rem}}p{margin-top:0}a{color:#1EAEDB}a:hover{color:#0FA0CE}.button{display:inline-block;height:38px;padding:0 30px;color:#555;text-align:center;font-size:11px;font-weight:600;line-height:38px;letter-spacing:.1rem;text-transform:uppercase;text-decoration:none;white-space:nowrap;background-color:transparent;border-radius:4px;border:1px solid #bbb;cursor:pointer;box-sizing:border-box}.button:focus,.button:hover{color:#333;border-color:#888;outline:0}.button.button-primary{color:#FFF;background-color:#33C3F0;border-color:#33C3F0}.button.button-primary:focus,.button.button-primary:hover{color:#FFF;background-color:#1EAEDB;border-color:#1EAEDB}.button{margin-bottom:1rem}p{margin-bottom:2.5rem}.container:after{content:"";display:table;clear:both}.section{padding:8rem 0 8rem;text-align:center}.section-description,.section-heading{margin-bottom:1.2rem}</style>
+ {{.Favicon}}
+</head>
+<body>
+<div class="section">
+ <div class="container">
+ <h3 class="section-heading">Uploaded!</h3>
+ <p class="section-description">
+ <strong>{{.File}}</strong> was successfull uploaded.
+ </p>
+ <p class="section-description">
+ <a href="/" class="button button-primary">Back to root</a>
+ </p>
+ </div>
+</div>
+</body>
+</html>`
+}