A fast, local-first "redirection engine" for !bang users with a few extra features ^-^
1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <link rel="icon" type="image/svg+xml" href="/search.svg" /> 6 <link 7 rel="preconnect" 8 href="https://fonts.googleapis.com" 9 crossorigin="anonymous" 10 /> 11 <link 12 rel="preconnect" 13 href="https://fonts.gstatic.com" 14 crossorigin="anonymous" 15 /> 16 <link 17 rel="preload" 18 as="style" 19 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" 20 /> 21 <link 22 rel="stylesheet" 23 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" 24 media="print" 25 onload="this.media='all'" 26 /> 27 <style> 28 :root { 29 /* Light mode colors */ 30 --text-color: #1a1a1a; 31 --text-color-secondary: #666; 32 --text-color-hover: #333; 33 --bg-color: #fff; 34 --bg-color-secondary: #f5f5f5; 35 --bg-color-hover: #f0f0f0; 36 --bg-color-active: #e5e5e5; 37 --border-color: #ddd; 38 } 39 40 @media (prefers-color-scheme: dark) { 41 :root { 42 --text-color: #e0e0e0; 43 --text-color-secondary: #999; 44 --text-color-hover: #fff; 45 --bg-color: #121212; 46 --bg-color-secondary: #1e1e1e; 47 --bg-color-hover: #2a2a2a; 48 --bg-color-active: #333; 49 --border-color: #444; 50 } 51 } 52 53 * { 54 margin: 0; 55 padding: 0; 56 box-sizing: border-box; 57 } 58 59 body { 60 font-family: system-ui, sans-serif; 61 line-height: 1.5; 62 color: var(--text-color); 63 background-color: var(--bg-color); 64 } 65 66 input { 67 padding: 8px 12px; 68 border: 1px solid var(--border-color); 69 border-radius: 4px; 70 width: 100%; 71 background: var(--bg-color-secondary); 72 color: var(--text-color); 73 font: inherit; 74 } 75 76 button { 77 font: inherit; 78 border: none; 79 background: none; 80 cursor: pointer; 81 color: var(--text-color-secondary); 82 } 83 84 button:hover { 85 background: var(--bg-color-hover); 86 } 87 </style> 88 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 89 <title>Unduck</title> 90 <meta 91 name="description" 92 content="A better default search engine (with bangs!)" 93 /> 94 </head> 95 <body> 96 <div id="app"></div> 97 <script type="module" src="/src/main.ts"></script> 98 </body> 99</html>