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>