mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-08-20 05:21:44 +10:00
The 131 character description overflowed the three line snippet Google renders on mobile. The replacement is 114 characters and keeps the same claims.
63 lines
2.4 KiB
HTML
63 lines
2.4 KiB
HTML
<!doctype html>
|
|
<html lang="en" class="dark">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="theme-color" content="#09090B" />
|
|
<meta name="application-name" content="Reactive Resume" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-title" content="Reactive Resume" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
<!-- Keep under ~120 characters so Google's mobile SERP snippet is not truncated at 3 lines. -->
|
|
<meta name="description" content="Free, open-source resume builder. Create, update, and share a professional resume in minutes — no ads, no paywall.">
|
|
|
|
<link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="128x128" />
|
|
<link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="256x256 any" />
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon-180x180.png" type="image/png" sizes="180x180 any" />
|
|
<link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials" />
|
|
|
|
<title>Reactive Resume — A free and open-source resume builder</title>
|
|
</head>
|
|
<body>
|
|
<!-- Keep #app empty: main.tsx only mounts React when rootElement has no children. -->
|
|
<div id="app"></div>
|
|
<!-- Branded first paint; hidden once React populates #app (higher-specificity rule below). -->
|
|
<div id="initial-loader">
|
|
<img src="/icon/dark.svg" width="48" height="48" alt="Reactive Resume" />
|
|
<div class="initial-loader__spinner"></div>
|
|
<span class="initial-loader__sr-only">Loading</span>
|
|
</div>
|
|
<style>
|
|
@keyframes app-spin { to { transform: rotate(360deg) } }
|
|
#initial-loader {
|
|
position: fixed;
|
|
inset: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 24px;
|
|
background: #09090b;
|
|
}
|
|
#app:not(:empty) ~ #initial-loader { display: none; }
|
|
.initial-loader__spinner {
|
|
width: 24px;
|
|
height: 24px;
|
|
border: 2px solid rgba(250, 250, 250, 0.2);
|
|
border-top-color: #fafafa;
|
|
border-radius: 9999px;
|
|
animation: app-spin 0.7s linear infinite;
|
|
}
|
|
.initial-loader__sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
overflow: hidden;
|
|
clip: rect(0 0 0 0);
|
|
}
|
|
</style>
|
|
<script type="module" data-cfasync="false" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|