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 — a TUI email client, by Floatpane</title>
 7        <meta
 8            name="description"
 9            content="Matcha is a modern TUI email client by Floatpane. Vim keybindings, PGP, IMAP multi-account, markdown composing, Lua plugins."
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=3" />
20
21        <script>
22            /*EDITMODE-BEGIN*/
23            const TWEAK_DEFAULTS = {
24                datasetKey: "default",
25            };
26            /*EDITMODE-END*/
27        </script>
28    </head>
29    <body>
30        <div id="root"></div>
31
32        <script
33            src="https://unpkg.com/react@18.3.1/umd/react.development.js"
34            integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L"
35            crossorigin="anonymous"
36        ></script>
37        <script
38            src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js"
39            integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm"
40            crossorigin="anonymous"
41        ></script>
42        <script
43            src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js"
44            integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y"
45            crossorigin="anonymous"
46        ></script>
47
48        <script type="text/babel" src="components/tui.jsx?v=3"></script>
49        <script type="text/babel" src="components/site.jsx?v=3"></script>
50
51        <script type="text/babel">
52            const root = ReactDOM.createRoot(document.getElementById("root"));
53            root.render(<window.MatchaApp />);
54        </script>
55    </body>
56</html>