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>