mirror of
https://github.com/schollz/cowyo.git
synced 2023-08-10 21:13:00 +03:00
2a41a03b5c
Automatic detection of IP address (for local only)
Added binary building (not ready)
Former-commit-id: 7729b642f8489c631e614b0e1190a9e6eb387443 [formerly 375f6ae8a94b41342555065ac0e35f436e338a5f] [formerly 08e05a2c6c93ad9e1db26f047951278068271f7f [formerly f934edc757
]]
Former-commit-id: cd3c0e21fbd07389ca6eba5795ed4207dd7f474d [formerly c21027b049a07d1d906d8340e64cf3da73a8fe3f]
Former-commit-id: afa01eda756447cba035f4e1c40c71be3001979a
165 lines
5.0 KiB
Cheetah
165 lines
5.0 KiB
Cheetah
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<title>{{ .Title }}</title>
|
|
|
|
{{ template "header" }}
|
|
|
|
|
|
|
|
<script src="/static/js/jquery.autogrowtextarea.min.js"></script>
|
|
{{if .NoEdit}} {{else}} <script src="/static/js/websockets.js"></script> {{end}}
|
|
|
|
<script>
|
|
external_ip = '{{ .ExternalIP }}'
|
|
title_name = '{{ .Title }}'
|
|
socketType = '{{ .SocketType }}'
|
|
</script>
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
textarea {
|
|
width: 100%;
|
|
margin: 5px 0;
|
|
padding: 10px;
|
|
border: none;
|
|
overflow: auto;
|
|
outline: none;
|
|
font-size: large;
|
|
-webkit-box-shadow: none;
|
|
-moz-box-shadow: none;
|
|
box-shadow: none;
|
|
font-family: Tahoma, sans-serif;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
background: #fff;
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
|
|
@media (min-width: 1200px) {
|
|
.container{
|
|
max-width: 800px;
|
|
}
|
|
}
|
|
|
|
</style>
|
|
<script src="/static/js/sweetalert-dev.js"></script>
|
|
<link rel="stylesheet" href="/static/css/sweetalert.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<!-- Fixed navbar -->
|
|
<nav class="navbar navbar-default navbar-fixed-bottom">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="/">{{ .Title }} <span id="saveInfo" class="glyphicon" aria-hidden="true"></span></a>
|
|
</div>
|
|
<div id="navbar" class="collapse navbar-collapse">
|
|
<ul class="nav navbar-nav">
|
|
<li class="dropdown active">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" class="active"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> Edit <span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li class="dropdown-header">Time edited: {{ .TotalTime }}</li>
|
|
<li role="separator" class="divider"></li>
|
|
<li class="dropdown-header">Other versions</li>
|
|
<li><a href="/{{ .Title }}?version=0">First</a></li>
|
|
{{ range .Versions }}
|
|
<li><a href="/{{ $.Title }}?version={{ .VersionNum }}">{{ .VersionDate }}</a></li>
|
|
{{ end }}
|
|
<li><a href="/{{ .Title }}">Current</a></li>
|
|
<li role="separator" class="divider"></li>
|
|
<li class="dropdown-header">Options</li>
|
|
<li><a href="#" id="{{ .Title }}" class="deleteable">Erase</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="/{{ .Title }}/view"><span class="glyphicon glyphicon-sunglasses" aria-hidden="true"></span> View</a></li>
|
|
<li><a href="/{{ .Title }}/list"><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span> List</a></li>
|
|
<li><a href="/about/view"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> About</a></li>
|
|
</ul>
|
|
</div>
|
|
<!--/.nav-collapse -->
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
<form action='#' id="emit" method="post" name="emit">
|
|
|
|
<div>
|
|
<textarea autofocus rows={{ .NumRows }} class='auto_submit_item' id="emit_data" name="emit_data" placeholder="Start typing, it will save automatically. Go to {{ .ExternalIP }}/{{ .Title }} to reload your note. Do not post anything private since anyone with the URL can access this note.">{{ .CurrentText }}</textarea>
|
|
</div>
|
|
|
|
</form>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("#emit_data").autoGrow();
|
|
});
|
|
|
|
$(document).keydown(function(e){
|
|
if( e.which === 90 && e.ctrlKey && e.shiftKey ){
|
|
console.log('control + shift + z');
|
|
window.location = "/{{ .Title }}/view";
|
|
}
|
|
});
|
|
|
|
$(document).keydown(function(e){
|
|
if( e.which === 76 && e.ctrlKey && e.shiftKey ){
|
|
console.log('control + shift + l');
|
|
window.location = "/{{ .Title }}/list";
|
|
}
|
|
});
|
|
|
|
|
|
$('.deleteable').click(function(event) {
|
|
event.preventDefault();
|
|
var deleteName = $(this).attr('id')
|
|
var href = $(this).attr('href')
|
|
swal({
|
|
title: "Are you sure?",
|
|
text: "You will not be able to recover /{{ .Title }}!",
|
|
type: "warning",
|
|
showCancelButton: true,
|
|
confirmButtonColor: "#DD6B55",
|
|
confirmButtonText: "Yes, delete it!",
|
|
closeOnConfirm: false
|
|
}, function() {
|
|
$.ajax({
|
|
url: "/deletepage" + '?' + $.param({
|
|
"DeleteName": deleteName,
|
|
"AdminKey": "none"
|
|
}),
|
|
type: 'DELETE',
|
|
success: function() {
|
|
swal("Deleted!", "/{{ .Title }} has been deleted.", "success");
|
|
setTimeout(function(){ window.location.reload(true); }, 1000);
|
|
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|