index.html

 1<!doctype html>
 2<html lang="en">
 3    <head>
 4        <meta charset="utf-8" />
 5        <meta name="viewport" content="width=device-width, initial-scale=1" />
 6        <title>Matcha — email for your terminal, by Floatpane</title>
 7        <meta
 8            name="description"
 9            content="Matcha is a keyboard-native email client for the terminal. Multi-account IMAP, PGP, markdown composing, and a CLI that pipes. One binary. No cloud."
10        />
11
12        <link rel="preconnect" href="https://fonts.googleapis.com" />
13        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
14        <link
15            href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Serif:ital,wght@1,400;1,500&display=swap"
16            rel="stylesheet"
17        />
18        <link rel="icon" type="image/png" href="assets/favicon.png" />
19        <link rel="stylesheet" href="styles.css?v=4" />
20    </head>
21    <body>
22        <div id="root"></div>
23
24        <script
25            src="https://unpkg.com/react@18.3.1/umd/react.development.js"
26            integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L"
27            crossorigin="anonymous"
28        ></script>
29        <script
30            src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js"
31            integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm"
32            crossorigin="anonymous"
33        ></script>
34        <script
35            src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js"
36            integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y"
37            crossorigin="anonymous"
38        ></script>
39
40        <script type="text/babel" src="components/site.jsx?v=4"></script>
41
42        <script type="text/babel">
43            const root = ReactDOM.createRoot(document.getElementById("root"));
44            root.render(<window.MatchaApp />);
45        </script>
46    </body>
47</html>