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