UNPKG

@andatoshiki/fuki

Version:

🐳 A lovely self-hosted yet serverless link shortener service via CloudFlare Workers!

150 lines (148 loc) β€’ 3.97 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="txt/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <link rel="stylesheet" href="https://jsd.toshiki.dev/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha256-L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y=" crossorigin="anonymous" /> <link rel="shortcut icon" href="https://r2.toshiki.dev/favicon.ico" type="image/x-icon" /> <title>Fuki 不期 | Your lovely URL shortener</title> <style> * { margin: 0; padding: 0; cursor: default; } html, body { height: 100%; } body { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; vertical-align: center; flex-wrap: wrap; align-content: center; color: #2a2b2c; background-color: #ebedee; overflow: hidden; } .card { background-color: transparent; width: 768px; } .card-text { text-align: center; } .card-text > a { text-decoration: none; color: #007bff; } .card-text > a { cursor: pointer; } .form-control { cursor: auto; } @media (max-width: 769px) { .card { width: 80%; } } @media (max-width: 420px) { .card { width: 95%; } } @media (prefers-color-scheme: dark) { body { color: #d9d9d9; background: #1b1b1b; } .card { background-color: #252d38; } } </style> </head> <body> <div class="card"> <h5 class="card-header">🐳 Shorten your URLs !</h5> <div class="card-body"> <h5 class="card-title">Please enter the long URL to be shortened :</h5> <div class="input-group mb-3"> <input type="text" class="form-control" placeholder="Example: https://example.com/" id="text" /> <div class="input-group-append"> <button class="btn btn-primary" type="button" onclick="shorturl()" id="searchbtn"> Shorten it </button> </div> </div> <div class="card-text"> <a href="https://github.com/toshikidev/fuki/" target="_self">Fork me on GitHub</a> </div> <p id="notice"></p> </div> </div> <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" > <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Result</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body" id="result">No result</div> <div class="modal-footer"> <button type="button" class="btn btn-primary" onclick='copyurl("result")' data-toggle="popover" data-placement="bottom" data-content="Copied!" > Copy </button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div> </div> <script src="https://jsd.toshiki.dev/npm/jquery@3.4.1/dist/jquery.slim.min.js" integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous" ></script> <script src="https://jsd.toshiki.dev/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" ></script> <script src="https://jsd.toshiki.dev/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha256-WqU1JavFxSAMcLP2WIOI+GB2zWmShMI82mTpLDcqFUg=" crossorigin="anonymous" ></script> <script src="https://jsd.toshiki.dev/npm/@andatoshiki/fuki@0.0.1/main.js" crossorigin="anonymous"></script> </body> </html>