108 lines
4.7 KiB
HTML
108 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta
|
|
name="viewport"
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
|
/>
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
|
<title>NoPaste - No-database paste service</title>
|
|
<link
|
|
rel="stylesheet"
|
|
type="text/css"
|
|
href="https://cdn.jsdelivr.net/combine/
|
|
npm/bootstrap@4.4.1/dist/css/bootstrap-grid.min.css,
|
|
npm/slim-select@1.25.0/dist/slimselect.min.css,
|
|
npm/codemirror@5.52.0/lib/codemirror.min.css,
|
|
npm/codemirror@5.52.0/addon/scroll/simplescrollbars.css,
|
|
npm/codemirror@5.52.0/theme/dracula.min.css
|
|
"
|
|
/>
|
|
<link rel="stylesheet" href="/style.css" />
|
|
<link href="/favicon.ico" rel="icon" type="image/x-icon" />
|
|
<meta
|
|
name="description"
|
|
content="NoPaste is a client-side paste service which works with no database, and no back-end code. The whole data is stored in shareable links and nowhere else!"
|
|
/>
|
|
</head>
|
|
<body class="m-0">
|
|
<div id="copy" class="container-fluid hidden shadow-bottom hide-readonly">
|
|
<div class="row my-1">
|
|
<div class="col my-1">
|
|
<input
|
|
type="text"
|
|
value="copy me"
|
|
id="copy-link"
|
|
class="px-2"
|
|
onclick="this.setSelectionRange(0, this.value.length)"
|
|
/>
|
|
</div>
|
|
<div class="col-auto my-1">
|
|
<button
|
|
class="clipboard py-1 px-2 mx-1"
|
|
id="copy-btn"
|
|
data-clipboard-target="#copy-link"
|
|
type="button"
|
|
>
|
|
Copy
|
|
</button>
|
|
<button class="py-1 px-2 mx-1" onclick="hideCopyBar(false)" type="button">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="controls" class="container-fluid shadow-bottom hide-readonly">
|
|
<div class="row align-items-center justify-content-end my-1">
|
|
<div class="col mb-1">
|
|
<h1 class="title my-0">{ NoPaste }</h1>
|
|
</div>
|
|
<div class="col-auto my-1">
|
|
<select id="language"></select>
|
|
</div>
|
|
<div class="col-auto my-1">
|
|
<button class="py-1 px-2 mx-0" onclick="generateLink('url')" type="button">Generate link</button>
|
|
<button class="py-1 px-2 mx-1" onclick="generateLink('markdown')" type="button">
|
|
Generate markdown
|
|
</button>
|
|
<button class="py-1 px-2 mx-0" onclick="generateLink('iframe')" type="button">Embed</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="progress"></div>
|
|
<div id="editor"></div>
|
|
<footer class="shadow-top container-fluid">
|
|
<div class="row my-1">
|
|
<div class="col mono" id="stats"></div>
|
|
<div class="col-auto">
|
|
<a href="javascript:void(0)" class="description-trigger">What is NoPaste?</a>
|
|
<div id="description" class="hidden shadow-bottom p-3">
|
|
NoPaste is a client-side paste service which works with <b>no database</b>, and
|
|
<b>no back-end code</b>.<br /><br />
|
|
Instead, the data is <b>compressed</b> then <b>stored</b> into a unique URL that can be decoded
|
|
later.<br /><br />
|
|
As a result, there is no risk of data being lost, censored or deleted. The whole data is stored
|
|
<b>in the link</b> and nowhere else!
|
|
</div>
|
|
<div class="overlay hidden"></div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<a href="https://github.com/bokub/nopaste" rel="noopener" target="_blank">Github</a>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
<script src="https://cdn.jsdelivr.net/combine/
|
|
npm/lzma@2.3.2/src/lzma.min.js,
|
|
npm/slim-select@1.25.0/dist/slimselect.min.js,
|
|
npm/clipboard@2/dist/clipboard.min.js,
|
|
npm/codemirror@5.52.0,
|
|
npm/codemirror@5.52.0/addon/mode/loadmode.min.js,
|
|
npm/codemirror@5.52.0/addon/mode/overlay.min.js,
|
|
npm/codemirror@5.52.0/addon/mode/multiplex.min.js,
|
|
npm/codemirror@5.52.0/addon/mode/simple.min.js,
|
|
npm/codemirror@5.52.0/addon/scroll/simplescrollbars.js,
|
|
npm/codemirror@5.52.0/mode/meta.min.js
|
|
"></script>
|
|
<script src="/index.js"></script>
|
|
</html>
|