mirror of
https://github.com/Tygs/0bin.git
synced 2023-08-10 21:13:00 +03:00
New clean layout to be pip installable
This commit is contained in:
36
zerobin/views/404.tpl
Normal file
36
zerobin/views/404.tpl
Normal file
@ -0,0 +1,36 @@
|
||||
<p class="alert alert-error">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong class="title">404 Error!</strong>
|
||||
<span class="message">
|
||||
Either this paste has expired or this page never existed.
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p class="file-upload">
|
||||
<input type="button" class="btn btn-upload" value="Upload File">
|
||||
<input type="file" class="hide-upload" id="file-upload" >
|
||||
</p>
|
||||
|
||||
<form class="well" method="post" action="/paste/create">
|
||||
<p class="paste-option">
|
||||
<label for="expiration" >Expiration:</label>
|
||||
<select id="expiration" name="expiration">
|
||||
<option value="burn_after_reading">Burn after reading</option>
|
||||
<option selected value="1_day">1 day</option>
|
||||
<option value="1_month">1 month</option>
|
||||
<option value="never">Never</option>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</p>
|
||||
<p>
|
||||
<div class="progress progress-striped active">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
<textarea rows="10" style="width:100%;"
|
||||
class="input-xlarge"
|
||||
id="content" name="content"></textarea>
|
||||
</p>
|
||||
</form>
|
||||
|
||||
|
||||
%rebase base settings=settings
|
153
zerobin/views/base.tpl
Normal file
153
zerobin/views/base.tpl
Normal file
@ -0,0 +1,153 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>0bin - encrypted pastebin</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description"
|
||||
content="0bin is a client-side-encrypted
|
||||
pastebin featuring burn after reading, an history and
|
||||
a clipboard">
|
||||
|
||||
<link rel="shortcut icon" href="/favicon.ico">
|
||||
<link href="/static/css/prettify.css" rel="stylesheet" />
|
||||
<link href="/static/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="/static/css/style.css" rel="stylesheet">
|
||||
|
||||
<!-- Le HTML5 shim, for IE7-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Prompt IE 6 users to tell them to install chrome frame -->
|
||||
<!--[if gte IE 0 ]>
|
||||
<script defer src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
|
||||
<script defer>window.attachEvent('onload',
|
||||
function() {
|
||||
CFInstall.check({
|
||||
mode: 'overlay',
|
||||
cssText: 'margin-top: 400px;'
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="/static/js/jquery-1.7.2.min.js"></script>
|
||||
<script src="/static/js/sjcl.js"></script>
|
||||
<script src="/static/js/behavior.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
zerobin.max_size = {{ settings.MAX_SIZE }};
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="btn btn-navbar" data-toggle="collapse"
|
||||
data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="/"><span>ø</span>bin<em>.net</em></a>
|
||||
<div class="nav-collapse">
|
||||
<ul class="nav">
|
||||
|
||||
%for i, entry in enumerate(settings.MENU):
|
||||
<li
|
||||
%if not i:
|
||||
class="active"
|
||||
%end
|
||||
>
|
||||
%if "mailto:" in entry[1]:
|
||||
<span title="{{ entry[1].replace('mailto:', '').replace('@', '__AT__') }}"
|
||||
class="email-link" >
|
||||
{{ entry[0] }}
|
||||
</span>
|
||||
%else:
|
||||
<a href="{{ entry[1] }}">{{ entry[0] }}</a>
|
||||
%end
|
||||
|
||||
</li>
|
||||
%end
|
||||
|
||||
</ul>
|
||||
<p class="navbar-text pull-right"><i>"A client side encrypted PasteBin..."</i></p>
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="span2">
|
||||
<div class="well sidebar-nav">
|
||||
<ul class="nav nav-list previous-pastes">
|
||||
<li class="nav-header">Previous pastes</li>
|
||||
<li class="item local-storage">
|
||||
<em class="grey">
|
||||
Your previous pastes will be saved in your browser using
|
||||
<a href="http://www.w3.org/TR/webstorage/">localStorage</a>.
|
||||
</em>
|
||||
</li>
|
||||
<li class="item no-local-storage">
|
||||
<em class="grey">
|
||||
Sorry your browser does not support
|
||||
<a href="http://www.w3.org/TR/webstorage/">LocalStorage</a>,
|
||||
We cannot display your previous pastes.
|
||||
</em>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!--/.well -->
|
||||
</div><!--/span-->
|
||||
|
||||
<div id='main' class="span10">
|
||||
|
||||
%include
|
||||
|
||||
</div><!--/span-->
|
||||
|
||||
</div><!--/row-->
|
||||
|
||||
<hr>
|
||||
|
||||
<footer>
|
||||
<blockquote>
|
||||
<p>«Few persons can be made to believe that it is not quite an easy thing to invent a method of secret writing which shall baffle investigation. Yet it may be roundly asserted that human ingenuity cannot concoct a cipher which human ingenuity cannot resolve...»</p>
|
||||
<small>Edgar Allan Poe</small>
|
||||
</blockquote>
|
||||
|
||||
<!--
|
||||
<h4 id="pixels-total" >
|
||||
<p>ø</p>
|
||||
<strong>41,017,923,819</strong> pastes øbinned
|
||||
</h4>
|
||||
-->
|
||||
|
||||
</br>
|
||||
<p class="greetings span12">
|
||||
Based on an original idea from
|
||||
<a href="http://sebsauvage.net/paste/">sebsauvage.net</a><br>
|
||||
<a href="http://sametmax.com">Sam & Max</a> |
|
||||
<span title="lesametlemax__AT__gmail.com" class="email-link">Contact us</span>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
<script src="/static/js/jquery.elastic.source.js"></script>
|
||||
<script src="/static/js/lzw.js"></script>
|
||||
<script src="/static/js/prettify.min.js"></script>
|
||||
<script src="/static/js/ZeroClipboard.js"></script>
|
||||
|
||||
<p id="alert-template">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong class="title"></strong>
|
||||
<span class="message"></span>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
28
zerobin/views/home.tpl
Normal file
28
zerobin/views/home.tpl
Normal file
@ -0,0 +1,28 @@
|
||||
<p class="file-upload">
|
||||
<input type="button" class="btn btn-upload" value="Upload File">
|
||||
<input type="file" class="hide-upload" id="file-upload" >
|
||||
</p>
|
||||
|
||||
<form class="well" method="post" action="/paste/create">
|
||||
<p class="paste-option">
|
||||
<label for="expiration" >Expiration:</label>
|
||||
<select id="expiration" name="expiration">
|
||||
<option value="burn_after_reading">Burn after reading</option>
|
||||
<option selected value="1_day">1 day</option>
|
||||
<option value="1_month">1 month</option>
|
||||
<option value="never">Never</option>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</p>
|
||||
<p>
|
||||
<div class="progress progress-striped active">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
<textarea rows="10" style="width:100%;"
|
||||
class="input-xlarge"
|
||||
id="content" name="content"></textarea>
|
||||
</p>
|
||||
</form>
|
||||
|
||||
|
||||
%rebase base settings=settings
|
80
zerobin/views/paste.tpl
Normal file
80
zerobin/views/paste.tpl
Normal file
@ -0,0 +1,80 @@
|
||||
%if "burn_after_reading" in str(paste.expiration):
|
||||
%if keep_alive:
|
||||
<p class="alert alert-info">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong class="title">Ok!</strong>
|
||||
<span class="message">
|
||||
This paste will be deleted the next time it is read.
|
||||
</span>
|
||||
</p>
|
||||
%else:
|
||||
<p class="alert">
|
||||
<a class="close" data-dismiss="alert" href="#">×</a>
|
||||
<strong class="title">Warning!</strong>
|
||||
<span class="message">
|
||||
This paste has self-destructed. If you close this windows,
|
||||
there is not way to recover it.
|
||||
</span>
|
||||
</p>
|
||||
%end
|
||||
%end
|
||||
|
||||
<div class="well paste-form">
|
||||
<form action="/" method="get" accept-charset="utf-8">
|
||||
<p class="lnk-option">
|
||||
<a id="clip-button">Copy To Clipboard</a>
|
||||
|
|
||||
<a id="short-url" href=""
|
||||
target="_blank">Get short url</a>
|
||||
<span class="paste-option btn-group top">
|
||||
<button class="btn btn-clone"><i class="icon-camera"></i> Clone</button>
|
||||
<button class="btn">New Paste</button>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<div class="progress progress-striped active">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<pre id="paste-content" class="prettyprint linenums">
|
||||
<code>
|
||||
{{ paste.content }}
|
||||
</code>
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
<p class="paste-option btn-group bottom">
|
||||
<button class="btn btn-clone"><i class="icon-camera"></i> Clone</button>
|
||||
<button class="btn">New Paste</button>
|
||||
</p>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- For cloning -->
|
||||
<div class="submit-form clone">
|
||||
<form class="well" method="post" action="/paste/create">
|
||||
<p class="paste-option">
|
||||
<label for="expiration" >Expiration:</label>
|
||||
<select id="expiration" name="expiration">
|
||||
<option value="burn_after_reading">Burn after reading</option>
|
||||
<option selected value="1_day">1 day</option>
|
||||
<option value="1_month">1 month</option>
|
||||
<option value="never">Never</option>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</p>
|
||||
<p>
|
||||
<div class="progress progress-striped active">
|
||||
<div class="bar"></div>
|
||||
</div>
|
||||
<textarea rows="10" style="width:100%;"
|
||||
class="input-xlarge"
|
||||
id="content" name="content"></textarea>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
%rebase base settings=settings
|
Reference in New Issue
Block a user