all repos — NoPaste @ 07d5c3960429f58ccad7fbd72f7778ffa4fdf415

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
  6            name="viewport"
  7            content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
  8        />
  9        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
 10
 11        <title>NoPaste - No-database paste service</title>
 12        <link
 13            rel="stylesheet"
 14            type="text/css"
 15            href="https://cdn.jsdelivr.net/combine/
 16npm/bootstrap@4.4.1/dist/css/bootstrap-grid.min.css,
 17npm/slim-select@1.25.0/dist/slimselect.min.css,
 18npm/codemirror@5.52.0/lib/codemirror.min.css,
 19npm/codemirror@5.52.0/addon/scroll/simplescrollbars.css,
 20npm/codemirror@5.52.0/theme/dracula.min.css
 21"
 22        />
 23        <link rel="stylesheet" href="style.css" />
 24        <link href="favicon.ico" rel="icon" type="image/x-icon" />
 25        <link rel="canonical" href="https://nopaste.ml/" />
 26        <meta
 27            name="description"
 28            property="og:description"
 29            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"
 30        />
 31        <meta property="og:title" content="NoPaste - No-database paste service" />
 32        <meta property="og:image" content="https://cdn.jsdelivr.net/gh/bokub/nopaste@images/logo.png" />
 33        <meta property="og:url" content="https://nopaste.ml/" />
 34        <meta property="og:type" content="website" />
 35    </head>
 36    <body class="m-0">
 37        <script>
 38            const readOnly =
 39                window.location !== window.parent.location ||
 40                new URLSearchParams(window.location.search).has('readonly');
 41            if (readOnly) {
 42                document.body.classList.add('readonly');
 43            }
 44        </script>
 45        <div id="copy" class="container-fluid hidden shadow-bottom hide-readonly">
 46            <div class="row my-1">
 47                <div class="col my-1">
 48                    <input
 49                        type="text"
 50                        value="copy me"
 51                        id="copy-link"
 52                        class="px-2"
 53                        onclick="this.setSelectionRange(0, this.value.length)"
 54                    />
 55                </div>
 56                <div class="col-auto my-1">
 57                    <button
 58                        class="clipboard py-1 px-2 mx-1"
 59                        id="copy-btn"
 60                        data-clipboard-target="#copy-link"
 61                        type="button"
 62                    >
 63                        Copy
 64                    </button>
 65                    <button class="py-1 px-2 mx-1" onclick="hideCopyBar(false)" type="button">Cancel</button>
 66                </div>
 67            </div>
 68        </div>
 69        <div id="controls" class="container-fluid shadow-bottom hide-readonly">
 70            <div class="row align-items-center justify-content-end my-1">
 71                <div class="col-auto mb-1">
 72                    <h1 class="my-0"><span>{</span> NoPaste <span>}</span></h1>
 73                </div>
 74                <div class="col-auto">
 75                    <a
 76                        href="https://github.com/bokub/nopaste"
 77                        rel="noopener"
 78                        target="_blank"
 79                        class="mx-1"
 80                        title="Source code"
 81                    >
 82                        <svg class="icon"><use xlink:href="#icon-github"></use></svg>
 83                    </a>
 84                    <a
 85                        href="javascript:void(0)"
 86                        onclick="byId('overlay').classList.remove('hidden')"
 87                        class="mx-1"
 88                        title="What is NoPaste?"
 89                    >
 90                        <svg class="icon mx-2"><use xlink:href="#icon-question"></use></svg>
 91                    </a>
 92                </div>
 93                <div class="col"></div>
 94                <div class="col-auto my-1">
 95                    <select id="language"></select>
 96                </div>
 97                <div class="col-auto">
 98                    <button
 99                        onclick="enableLineWrapping()"
100                        type="button"
101                        id="enable-line-wrapping"
102                        title="Enable line wrapping"
103                    >
104                        <svg class="icon"><use xlink:href="#icon-notes"></use></svg>
105                    </button>
106                    <button
107                        onclick="disableLineWrapping()"
108                        type="button"
109                        id="disable-line-wrapping"
110                        title="Disable line wrapping"
111                        class="hidden"
112                    >
113                        <svg class="icon"><use xlink:href="#icon-wrap-text"></use></svg>
114                    </button>
115                </div>
116                <div class="col-auto">
117                    <button class="py-1 px-2 mx-0 my-1" onclick="generateLink('url')" type="button">
118                        Generate link
119                    </button>
120                    <button class="py-1 px-2 mx-1 my-1" onclick="generateLink('markdown')" type="button">
121                        Generate markdown
122                    </button>
123                    <button class="py-1 px-2 mx-0 my-1" onclick="generateLink('iframe')" type="button">Embed</button>
124                </div>
125            </div>
126        </div>
127        <div id="progress"></div>
128        <div id="editor"></div>
129        <footer id="footer" class="shadow-top container-fluid">
130            <div class="row my-1">
131                <div class="col mono hide-readonly" id="stats">Length: 0 | Lines: 1</div>
132                <div class="col mono show-readonly">Hosted on NoPaste.ml</div>
133                <div class="col-auto mono show-readonly">
134                    <a href="javascript:void(0)" onclick="openInNewTab()">
135                        <svg class="icon icon-edit"><use xlink:href="#icon-edit"></use></svg>
136                        Edit
137                    </a>
138                </div>
139            </div>
140        </footer>
141        <div class="hidden" id="overlay" onclick="this.classList.add('hidden')">
142            <div id="description" class="hidden shadow-bottom p-3">
143                NoPaste is a client-side paste service which works with <b>no database</b>, and
144                <b>no back-end code</b>.<br /><br />
145                Instead, the data is <b>compressed</b> then <b>stored</b> into a unique URL that can be shared and
146                decoded later.<br /><br />
147
148                As a result, there is no risk of data being lost, censored or deleted. The data is stored entirely
149                <b>in the links</b> and nowhere else!<br /><br />
150
151                You can find more detailed information on
152                <a href="https://github.com/bokub/nopaste" rel="noopener" target="_blank">Github</a>
153            </div>
154        </div>
155        <svg class="hidden">
156            <defs>
157                <symbol id="icon-wrap-text" viewBox="0 0 24 24">
158                    <path
159                        d="M17.016 11.016q1.641 0 2.813 1.172t1.172 2.813-1.172 2.813-2.813 1.172h-2.016v2.016l-3-3
160                     3-3v2.016h2.25q0.797 0 1.406-0.609t0.609-1.406-0.609-1.406-1.406-0.609h-13.266v-1.969h13.031zM20.016
161                      5.016v1.969h-16.031v-1.969h16.031zM3.984 18.984v-1.969h6v1.969h-6z"
162                    ></path>
163                </symbol>
164                <symbol id="icon-notes" viewBox="0 0 24 24">
165                    <path d="M3 12.984v-1.969h18v1.969h-18zM3 6h18v2.016h-18v-2.016zM3 18v-2.016h12v2.016h-12z"></path>
166                </symbol>
167                <symbol id="icon-github" viewBox="0 0 32 32">
168                    <path
169                        d="M16 0.395c-8.836 0-16 7.163-16 16 0 7.069 4.585 13.067 10.942 15.182 0.8 0.148 1.094-0.3471.094-0.77
170                     0-0.381-0.015-1.642-0.022-2.979-4.452 0.968-5.391-1.888-5.391-1.888-0.728-1.849-1.776-2.341-1.776-2.341-1.452-0.993
171                      0.11-0.973 0.11-0.973 1.606 0.113 2.452 1.649 2.452 1.649 1.427 2.446 3.743 1.739 4.656 1.33 0.143-1.034 0.558-1.74
172                       1.016-2.14-3.554-0.404-7.29-1.777-7.29-7.907 0-1.747 0.625-3.174 1.649-4.295-0.166-0.403-0.714-2.030 0.155-4.234
173                        0 0 1.344-0.43 4.401 1.64 1.276-0.355 2.645-0.532 4.005-0.539 1.359 0.006 2.729 0.184 4.008 0.539 3.054-2.070
174                         4.395-1.64 4.395-1.64 0.871 2.204 0.323 3.831 0.157 4.234 1.026 1.12 1.647 2.548 1.647 4.295 0 6.145-3.743
175                          7.498-7.306 7.895 0.574 0.497 1.085 1.47 1.085 2.963 0 2.141-0.019 3.864-0.019 4.391 0 0.426 0.288 0.925
176                           1.099 0.768 6.354-2.118 10.933-8.113 10.933-15.18 0-8.837-7.164-16-16-16z"
177                    ></path>
178                </symbol>
179                <symbol id="icon-question" viewBox="0 0 17 28">
180                    <path
181                        d="M11 19.625v3.75c0 0.344-0.281 0.625-0.625 0.625h-3.75c-0.344 0-0.625-0.281-0.625-0.625v-3.75c0-0.344
182                     0.281-0.625 0.625-0.625h3.75c0.344 0 0.625 0.281 0.625 0.625zM15.937 10.25c0 2.969-2.016 4.109-3.5 4.937-0.922
183                      0.531-1.5 1.609-1.5 2.063v0c0 0.344-0.266 0.75-0.625 0.75h-3.75c-0.344 0-0.562-0.531-0.562-0.875v-0.703c0-1.891
184                       1.875-3.516 3.25-4.141 1.203-0.547 1.703-1.062 1.703-2.063 0-0.875-1.141-1.656-2.406-1.656-0.703 0-1.344
185                        0.219-1.687 0.453-0.375 0.266-0.75 0.641-1.672 1.797-0.125 0.156-0.313 0.25-0.484 0.25-0.141
186                        0-0.266-0.047-0.391-0.125l-2.562-1.953c-0.266-0.203-0.328-0.547-0.156-0.828 1.687-2.797 4.062-4.156
187                         7.25-4.156 3.344 0 7.094 2.672 7.094 6.25z"
188                    ></path>
189                </symbol>
190                <symbol id="icon-edit" viewBox="0 0 24 24">
191                    <path
192                        d="M20.719 7.031l-1.828 1.828-3.75-3.75 1.828-1.828q0.281-0.281 0.703-0.281t0.703 0.281l2.344
193                         2.344q0.281 0.281 0.281 0.703t-0.281 0.703zM3 17.25l11.063-11.063 3.75 3.75-11.063 11.063h-3.75v-3.75z"
194                    ></path>
195                </symbol>
196            </defs>
197        </svg>
198        <script src="https://cdn.jsdelivr.net/combine/
199npm/lzma@2.3.2/src/lzma.min.js,
200npm/slim-select@1.25.0/dist/slimselect.min.js,
201npm/clipboard@2/dist/clipboard.min.js,
202npm/codemirror@5.52.0,
203npm/codemirror@5.52.0/addon/mode/loadmode.min.js,
204npm/codemirror@5.52.0/addon/mode/overlay.min.js,
205npm/codemirror@5.52.0/addon/mode/multiplex.min.js,
206npm/codemirror@5.52.0/addon/mode/simple.min.js,
207npm/codemirror@5.52.0/addon/scroll/simplescrollbars.js,
208npm/codemirror@5.52.0/mode/meta.min.js
209"></script>
210        <script src="index.js"></script>
211    </body>
212</html>