-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
151 lines (134 loc) · 7.54 KB
/
Copy pathindex.html
File metadata and controls
151 lines (134 loc) · 7.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html lang="en">
<!--
██████╗ ██╗██╗ █████╗ ██╗
██╔══██╗██║██║ ██╔══██╗██║
██████╔╝██║██║ ███████║██║
██╔══██╗██║██║ ██╔══██║██║
██████╔╝██║███████╗██║ ██║███████╗
╚═════╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝
███╗ ███╗ █████╗ ██╗ ██╗██╗ ██╗
████╗ ████║██╔══██╗██║ ██║██║ ██╔╝
██╔████╔██║███████║██║ ██║█████╔╝
██║╚██╔╝██║██╔══██║██║ ██║██╔═██╗
██║ ██═ ██║██║ ██║███████╗██║██║ ██╗
╚═════╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝
What are you doing here?! you sneaky developer...
-->
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<!-- Primary SEO -->
<title>Readmade - Build Stunning GitHub READMEs in Minutes</title>
<meta name="description" content="Create beautiful, professional READMEs with a visual drag-and-drop editor. Live preview, markdown export, and no sign-up required. Your data stays local." />
<meta name="keywords" content="readme builder, markdown generator, github readme, visual readme editor, open source readme tool, readme creator, readmade, markdown editor, documentation generator" />
<meta name="author" content="Bilal Malik" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://readmade.vercel.app/" />
<!-- Theme color -->
<meta name="theme-color" content="#111111" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
<!-- PWA Manifest -->
<link rel="manifest" href="/manifest.json" />
<!-- Apple PWA / iOS -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="Readmade" />
<link rel="apple-touch-icon" href="/logo.svg" />
<link rel="apple-touch-startup-image" href="/logo.svg" />
<!-- Microsoft PWA -->
<meta name="msapplication-TileColor" content="#111111" />
<meta name="msapplication-TileImage" content="/logo.svg" />
<meta name="msapplication-config" content="/browserconfig.xml" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Readmade" />
<meta property="og:title" content="Readmade - Build Stunning GitHub READMEs in Minutes" />
<meta property="og:description" content="Create beautiful, professional READMEs with a visual drag-and-drop editor. Live preview, markdown export, and no sign-up required. Your data stays local." />
<meta property="og:url" content="https://readmade.vercel.app/" />
<meta property="og:image" content="https://raw.githubusercontent.com/bilalmlkdev/readmade/main/src/assets/dashboard.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="Readmade - Visual README Builder" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@bilalmlkdev" />
<meta name="twitter:creator" content="@bilalmlkdev" />
<meta name="twitter:title" content="Readmade - Build Stunning GitHub READMEs in Minutes" />
<meta name="twitter:description" content="Visual drag-and-drop README builder with live preview, markdown export, and no sign-up required." />
<meta name="twitter:image" content="https://raw.githubusercontent.com/bilalmlkdev/readmade/main/src/assets/dashboard.png" />
<meta name="twitter:image:alt" content="Readmade - Visual README Builder" />
<!-- Structured data -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "WebApplication", "name": "Readmade", "url": "https://readmade.vercel.app/", "applicationCategory": "DeveloperApplication", "operatingSystem": "Any", "description": "Visual drag-and-drop README builder for GitHub projects. Live preview, one-click markdown export, no sign-up required.", "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }, "author": { "@type": "Person", "name": "Bilal Malik", "url": "https://github.com/bilalmlkdev" }, "publisher": { "@type": "Organization", "name": "Readmade" }, "featureList": [ "Visual drag-and-drop block editor", "Live markdown preview", "One-click export (Markdown, HTML, Text)", "Keyboard shortcuts", "Template gallery", "Offline support (PWA)", "Auto-save to localStorage"
]
}
</script>
<!-- Favicon & Icons -->
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
<link rel="alternate icon" href="/logo.svg" />
<link rel="shortcut icon" href="/logo.svg" type="image/x-icon" />
<link rel="icon" type="image/png" sizes="192x192" href="/logo.svg" />
<link rel="icon" type="image/png" sizes="512x512" href="/logo.svg" />
<link rel="mask-icon" href="/logo.svg" color="#111111" />
<!-- DNS Prefetch / Preconnect -->
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
<link rel="dns-prefetch" href="https://fonts.gstatic.com" />
<link rel="dns-prefetch" href="https://api.dicebear.com" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<!-- Critical inline CSS: paints the correct background instantly, before the
JS bundle or external CSS has loaded. This is what actually kills the
white-flash-on-reload - nothing in React/localStorage can fix a flash
that happens before React mounts. -->
<script>
(function () {
try {
var t = localStorage.getItem("readmade:theme");
if (t === "dark" || (t !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches)) {
document.documentElement.classList.add("dark");
document.documentElement.style.colorScheme = "dark";
} else {
document.documentElement.style.colorScheme = "light";
}
} catch (e) {}
})();
</script>
<style>
html,
body,
#root {
height: 100%;
margin: 0;
background: #FAFAFA;
color: #1a1a1a;
}
html.dark,
html.dark body,
html.dark #root {
background: #0c0c0c;
color: #f5f5f5;
}
</style>
<!-- Font Preconnects & Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Dancing+Script:wght@400..700&family=Instrument+Serif:ital@0;1&display=swap" />
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
<script>
if ("serviceWorker" in navigator) {
window.addEventListener("load", () => {
navigator.serviceWorker.register("/sw.js").catch(() => {});
});
}
// Listen for install prompt
let deferredPrompt;
window.addEventListener("beforeinstallprompt", (e) => {
e.preventDefault();
deferredPrompt = e;
// Optionally show custom install button
});
</script>
</body>
</html>