diff options
Diffstat (limited to 'excalidraw-app/index.html')
| -rw-r--r-- | excalidraw-app/index.html | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/excalidraw-app/index.html b/excalidraw-app/index.html new file mode 100644 index 0000000..0e7772f --- /dev/null +++ b/excalidraw-app/index.html @@ -0,0 +1,252 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <title>kj-diagramming | Hand-drawn look & feel • Collaborative • Secure</title> + <meta + name="viewport" + content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover, shrink-to-fit=no" + /> + <meta name="referrer" content="origin" /> + <meta name="mobile-web-app-capable" content="yes" /> + <meta name="theme-color" content="#121212" /> + + <!-- Primary Meta Tags --> + <meta + name="title" + content="kj-diagramming — Collaborative whiteboarding made easy" + /> + <meta + name="description" + content="kj-diagramming is a virtual collaborative whiteboard tool (an excalidraw fork) that lets you easily sketch diagrams with a hand-drawn feel." + /> + <meta name="image" content="/og-image-3.png" /> + + <!-- Open Graph / Facebook --> + <meta property="og:site_name" content="kj-diagramming" /> + <meta property="og:type" content="website" /> + <meta property="og:url" content="/" /> + <meta + property="og:title" + content="kj-diagramming — Collaborative whiteboarding made easy" + /> + <meta property="og:image:alt" content="kj-diagramming logo" /> + <meta + property="og:description" + content="kj-diagramming is a virtual collaborative whiteboard tool (an excalidraw fork) that lets you easily sketch diagrams with a hand-drawn feel." + /> + <meta property="og:image" content="/og-image-3.png" /> + + <!-- Twitter --> + <meta property="twitter:card" content="summary_large_image" /> + <meta property="twitter:site" content="@kjdiagramming" /> + <meta property="twitter:url" content="/" /> + <meta + property="twitter:title" + content="kj-diagramming — Collaborative whiteboarding made easy" + /> + <meta + property="twitter:description" + content="kj-diagramming is a virtual collaborative whiteboard tool (an excalidraw fork) that lets you easily sketch diagrams with a hand-drawn feel." + /> + <meta + property="twitter:image" + content="/og-image-3.png" + /> + + <link rel="canonical" href="/" /> + + <!-------------------------------------------------------------------------> + <!-- to minimize white flash on load when user has dark mode enabled --> + <script> + try { + function setTheme(theme) { + if (theme === "dark") { + document.documentElement.classList.add("dark"); + } else { + document.documentElement.classList.remove("dark"); + } + } + + function getTheme() { + const theme = window.localStorage.getItem("kj-diagramming-theme"); + + if (theme && theme === "system") { + return window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light"; + } else { + return theme || "light"; + } + } + + setTheme(getTheme()); + } catch (e) { + console.error("Error setting dark mode", e); + } + </script> + <style> + html.dark { + background-color: #121212; + color: #fff; + } + </style> + + <!-- Warmup the connection for Google fonts --> + <link rel="preconnect" href="https://fonts.googleapis.com" /> + <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> + + <!-------------------------------------------------------------------------> + <% if (typeof PROD != 'undefined' && PROD == true) { %> + <script> + // Redirect plus users which have auto-redirect enabled. + // + // Redirect only the bare root path, so link/room/library urls are not + // redirected. + // + // Putting into index.html for best performance (can't redirect on server + // due to location.hash checks). + if ( + window.location.pathname === "/" && + !window.location.hash && + !window.location.search && + // if its present redirect + document.cookie.includes("excplus-autoredirect=true") + ) { + // disabled in this fork + } + </script> + + <!-- Following placeholder is replaced during the build step --> + <!-- PLACEHOLDER:EXCALIDRAW_APP_FONTS --> + + <!-- Register Assistant as the UI font, before the scene inits --> + <link + rel="stylesheet" + href="../packages/excalidraw/fonts/fonts.css" + type="text/css" + /> + + <% } else { %> + <script> + window.EXCALIDRAW_ASSET_PATH = window.origin; + </script> + <% } %> + + <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> + + <!-- kj-diagramming version --> + <meta name="version" content="{version}" /> + + <% if (typeof VITE_APP_DEV_DISABLE_LIVE_RELOAD != 'undefined' && + VITE_APP_DEV_DISABLE_LIVE_RELOAD == true) { %> + <script> + { + const _WebSocket = window.WebSocket; + window.WebSocket = function (url) { + if (/ws:\/\/localhost:.+?\/sockjs-node/.test(url)) { + console.info( + "[!!!] Live reload is disabled via VITE_APP_DEV_DISABLE_LIVE_RELOAD [!!!]", + ); + } else { + return new _WebSocket(url); + } + }; + } + </script> + <% } %> + <script> + // setting this so that libraries installation reuses this window tab. + window.name = "_kj-diagramming"; + </script> + + <!-- FIXME: remove this when we update CRA (fix SW caching) --> + <style> + body, + html { + margin: 0; + -webkit-text-size-adjust: 100%; + + width: 100%; + height: 100%; + overflow: hidden; + } + + .visually-hidden { + position: absolute !important; + height: 1px; + width: 1px; + overflow: hidden; + clip: rect(1px, 1px, 1px, 1px); + white-space: nowrap; + user-select: none; + } + + #root { + height: 100%; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + @media screen and (min-width: 1200px) { + #root { + -webkit-touch-callout: default; + -webkit-user-select: auto; + -khtml-user-select: auto; + -moz-user-select: auto; + -ms-user-select: auto; + user-select: auto; + } + } + </style> + </head> + + <body> + <noscript> You need to enable JavaScript to run this app. </noscript> + <header> + <h1 class="visually-hidden">kj-diagramming</h1> + </header> + <div id="root"></div> + <script type="module" src="index.tsx"></script> + <% if (typeof PROD != 'undefined' && PROD == true) { %> + <!-- 100% privacy friendly analytics --> + <script> + // need to load this script dynamically bcs. of iframe embed tracking + var scriptEle = document.createElement("script"); + scriptEle.setAttribute( + "src", + "https://scripts.simpleanalyticscdn.com/latest.js", + ); + scriptEle.setAttribute("type", "text/javascript"); + scriptEle.setAttribute("defer", true); + scriptEle.setAttribute("async", true); + // if iframe + if (window.self !== window.top) { + scriptEle.setAttribute("data-auto-collect", true); + } + + document.body.appendChild(scriptEle); + + // if iframe + if (window.self !== window.top) { + scriptEle.addEventListener("load", () => { + if (window.sa_pageview) { + window.window.sa_event(action, { + category: "iframe", + label: "embed", + value: window.location.pathname, + }); + } + }); + } + </script> + <!-- end LEGACY GOOGLE ANALYTICS --> + <% } %> + </body> +</html> |
