all repos — NoPaste @ 8e0cb7570128e701011afcc1373c7b28adfe5469

Resurrected - The PussTheCat.org fork of NoPaste

index.html (view raw)

  1<!DOCTYPE html>
  2<html lang="en">
  3    <head>
  4        <meta charset="UTF-8" />
  5        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
  6        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7
  8        <title>NoPaste - No-database paste service</title>
  9        <link
 10            rel="stylesheet"
 11            type="text/css"
 12            href="https://cdn.jsdelivr.net/combine/
 13npm/bootstrap@4.4.1/dist/css/bootstrap-grid.min.css,
 14npm/slim-select@1.25.0/dist/slimselect.min.css,
 15npm/codemirror@5.52.0/lib/codemirror.min.css,
 16npm/codemirror@5.52.0/addon/scroll/simplescrollbars.css,
 17npm/codemirror@5.52.0/theme/dracula.min.css,
 18npm/microtip@0.2.2/microtip.min.css
 19"
 20        />
 21        <link rel="stylesheet" href="style.css" />
 22        <link href="favicon.ico" rel="icon" type="image/x-icon" />
 23        <link rel="canonical" href="https://nopaste.ml/" />
 24        <meta
 25            name="description"
 26            property="og:description"
 27            content="NoPaste is a client-side paste service which works with no database, and no back-end code. The data is stored entirely in the links and nowhere else"
 28        />
 29        <meta property="og:title" content="NoPaste - No-database paste service" />
 30        <meta property="og:image" content="https://cdn.jsdelivr.net/gh/bokub/nopaste@images/logo.png" />
 31        <meta property="og:url" content="https://nopaste.ml/" />
 32        <meta property="og:type" content="website" />
 33    </head>
 34    <body class="m-0">
 35        <script>
 36            const readOnly = window.location !== window.parent.location || new URLSearchParams(window.location.search).has('readonly');
 37            if (readOnly) {
 38                document.body.classList.add('readonly');
 39            }
 40        </script>
 41        <div id="copy" class="container-fluid hidden shadow-bottom hide-readonly">
 42            <div class="row my-1">
 43                <div class="col my-1">
 44                    <input type="text" value="copy me" id="copy-link" class="px-2" onclick="this.setSelectionRange(0, this.value.length)" />
 45                </div>
 46                <div class="col-auto my-1">
 47                    <button class="clipboard py-1 px-2 mx-1" id="copy-btn" data-clipboard-target="#copy-link" type="button">
 48                        Copy
 49                    </button>
 50                    <button class="py-1 px-2 mx-1" onclick="hideCopyBar(false)" type="button">Cancel</button>
 51                </div>
 52            </div>
 53        </div>
 54        <div id="controls" class="container-fluid shadow-bottom hide-readonly">
 55            <div class="row align-items-center justify-content-end my-1">
 56                <div class="col-auto mb-1">
 57                    <h1 class="my-0"><span>{</span> NoPaste <span>}</span></h1>
 58                </div>
 59                <div class="col-auto">
 60                    <a
 61                        href="https://github.com/bokub/nopaste"
 62                        rel="noopener"
 63                        target="_blank"
 64                        class="mx-1"
 65                        aria-label="Source code"
 66                        data-microtip-position="bottom"
 67                        role="tooltip"
 68                    >
 69                        <span class="icon-github"></span>
 70                    </a>
 71                    <a
 72                        href="javascript:void(0)"
 73                        class="mx-1"
 74                        aria-label="What is NoPaste?"
 75                        data-microtip-position="bottom"
 76                        role="tooltip"
 77                        data-micromodal-trigger="description-modal"
 78                    >
 79                        <span class="mx-2 icon-question"></span>
 80                    </a>
 81                </div>
 82                <div class="col"></div>
 83                <div class="col-auto my-1">
 84                    <select id="language"></select>
 85                </div>
 86                <div class="col-auto">
 87                    <button
 88                        onclick="enableLineWrapping()"
 89                        type="button"
 90                        id="enable-line-wrapping"
 91                        aria-label="Enable line wrapping"
 92                        data-microtip-position="bottom"
 93                        role="tooltip"
 94                    >
 95                        <span class="icon-notes"></span>
 96                    </button>
 97                    <button
 98                        onclick="disableLineWrapping()"
 99                        type="button"
100                        id="disable-line-wrapping"
101                        aria-label="Disable line wrapping"
102                        data-microtip-position="bottom"
103                        role="tooltip"
104                        class="hidden"
105                    >
106                        <span class="icon-wrap-text"></span>
107                    </button>
108                </div>
109                <div class="col-auto">
110                    <button class="py-1 px-2 mx-0 my-1" onclick="generateLink('url')" type="button">
111                        Generate link
112                    </button>
113                    <button class="py-1 px-2 mx-1 my-1" onclick="generateLink('markdown')" type="button">
114                        Generate markdown
115                    </button>
116                    <button class="py-1 px-2 mx-0 my-1" onclick="generateLink('iframe')" type="button">Embed</button>
117                </div>
118            </div>
119        </div>
120        <div id="progress"></div>
121        <div id="editor"></div>
122        <footer id="footer" class="shadow-top container-fluid">
123            <div class="row my-1">
124                <div class="col mono hide-readonly" id="stats">Length: 0 | Lines: 1</div>
125                <div class="col mono show-readonly">Hosted on NoPaste.ml</div>
126                <div class="col-auto mono show-readonly">
127                    <a href="javascript:void(0)" onclick="openInNewTab()">
128                        <span class="icon-edit"></span>
129                        Edit
130                    </a>
131                </div>
132            </div>
133        </footer>
134        <div id="description-modal" class="modal">
135            <div tabindex="-1" data-micromodal-close class="modal-overlay">
136                <div role="dialog" class="modal-content shadow-bottom p-3 m-3" data-micromodal-close>
137                    NoPaste is a client-side paste service which works with <span class="pink">no database</span>, and
138                    <span class="pink">no back-end code</span>.<br /><br />
139                    Instead, the data is <span class="pink">compressed</span> then <span class="pink">stored</span> into a unique URL that
140                    can be shared and decoded later.<br /><br />
141
142                    As a result, there is no risk of data being lost, censored or deleted. The data is stored entirely
143                    <span class="pink">in the links</span> and nowhere else!<br /><br />
144
145                    You can find more detailed information on
146                    <a href="https://github.com/bokub/nopaste" rel="noopener" target="_blank">Github</a>
147                </div>
148            </div>
149        </div>
150
151        <script src="https://cdn.jsdelivr.net/combine/
152npm/lzma@2.3.2/src/lzma.min.js,
153npm/slim-select@1.25.0/dist/slimselect.min.js,
154npm/clipboard@2/dist/clipboard.min.js,
155npm/micromodal@0.4.6/dist/micromodal.min.js,
156npm/codemirror@5.52.0,
157npm/codemirror@5.52.0/addon/mode/loadmode.min.js,
158npm/codemirror@5.52.0/addon/mode/overlay.min.js,
159npm/codemirror@5.52.0/addon/mode/multiplex.min.js,
160npm/codemirror@5.52.0/addon/mode/simple.min.js,
161npm/codemirror@5.52.0/addon/scroll/simplescrollbars.js,
162npm/codemirror@5.52.0/mode/meta.min.js
163"></script>
164        <script src="index.js"></script>
165    </body>
166</html>