Skip to content

Commit 98c3fa0

Browse files
committed
chore(seo): update GhostCode Dynamics metadata and social branding
1 parent d93b7ce commit 98c3fa0

39 files changed

Lines changed: 820 additions & 279 deletions

.prettierrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"endOfLine": "auto"
3+
}

eslint.config.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,9 @@ export default tseslint.config(
3737
},
3838
},
3939
eslintPluginPrettier,
40+
{
41+
rules: {
42+
"prettier/prettier": ["error", { endOfLine: "auto" }],
43+
},
44+
},
4045
);

index.html

Lines changed: 157 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,160 @@
11
<!doctype html>
22
<html lang="en" class="dark">
3-
<head>
4-
<meta charset="UTF-8" />
5-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>GhostCode Dynamics — Building Digital Solutions</title>
7-
<meta
8-
name="description"
9-
content="GhostCode Dynamics is a founder-led technology brand building digital solutions for businesses and empowering the next generation of tech professionals."
10-
/>
11-
<meta name="author" content="GhostCode Dynamics" />
12-
<meta name="theme-color" content="#0a0a12" />
13-
14-
<meta property="og:site_name" content="GhostCode Dynamics" />
15-
<meta property="og:type" content="website" />
16-
<meta property="og:title" content="GhostCode Dynamics — Building Digital Solutions" />
17-
<meta
18-
property="og:description"
19-
content="Building digital solutions for businesses while empowering the next generation of tech professionals."
20-
/>
21-
<meta
22-
property="og:image"
23-
content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/610c102a-5c96-4c32-a1f9-0ca1b3a40bc9/id-preview-b8dc329d--cbf17d2f-00eb-490b-8690-50cc48660676.lovable.app-1782138778412.png"
24-
/>
25-
26-
<meta name="twitter:card" content="summary_large_image" />
27-
<meta name="twitter:title" content="GhostCode Dynamics — Building Digital Solutions" />
28-
<meta
29-
name="twitter:description"
30-
content="Building digital solutions for businesses while empowering the next generation of tech professionals."
31-
/>
32-
<meta
33-
name="twitter:image"
34-
content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/610c102a-5c96-4c32-a1f9-0ca1b3a40bc9/id-preview-b8dc329d--cbf17d2f-00eb-490b-8690-50cc48660676.lovable.app-1782138778412.png"
35-
/>
36-
37-
<link rel="icon" href="/favicon.png" type="image/png" sizes="any" />
38-
<link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32" />
39-
<link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16" />
40-
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" />
41-
42-
<script>
43-
// Apply stored theme before paint to avoid flash
44-
(function () {
45-
try {
46-
var t = localStorage.getItem("ghostcode-theme");
47-
var isDark = t ? t === "dark" : true;
48-
document.documentElement.classList.toggle("dark", isDark);
49-
document.documentElement.style.colorScheme = isDark ? "dark" : "light";
50-
} catch (e) {}
51-
})();
52-
53-
// GitHub Pages SPA fallback: if redirected from 404.html with ?/path, restore it.
54-
(function () {
55-
var l = window.location;
56-
if (l.search && l.search.indexOf("?/") === 0) {
57-
var decoded = l.search.slice(2).split("&").map(function (s) {
58-
return s.replace(/~and~/g, "&");
59-
}).join("?");
60-
window.history.replaceState(null, "", l.pathname.slice(0, -1) + decoded + l.hash);
61-
}
62-
})();
3+
4+
<head>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
7+
<meta name="color-scheme" content="dark light" />
8+
<meta name="theme-color" content="#0a0a12" />
9+
<meta name="referrer" content="strict-origin-when-cross-origin" />
10+
11+
<title>GhostCode Dynamics - Building Digital Solutions</title>
12+
13+
<meta name="description"
14+
content="GhostCode Dynamics is a founder-led technology brand building digital solutions for businesses and empowering the next generation of tech professionals." />
15+
16+
<meta name="keywords"
17+
content="GhostCode Dynamics, web development, MERN stack, software development, cybersecurity labs, student mentorship, portfolio websites, business websites" />
18+
19+
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
20+
21+
<meta name="author" content="GhostCode Dynamics" />
22+
<meta name="publisher" content="GhostCode Dynamics" />
23+
<meta name="application-name" content="GhostCode Dynamics" />
24+
<meta name="apple-mobile-web-app-title" content="GhostCode" />
25+
<meta name="apple-mobile-web-app-capable" content="yes" />
26+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
27+
<meta name="msapplication-TileColor" content="#0a0a12" />
28+
<meta name="msapplication-config" content="none" />
29+
30+
<link rel="canonical" href="https://ghostcodedynamics.github.io/" />
31+
32+
<link rel="manifest" href="/site.webmanifest" />
33+
34+
<link rel="icon" href="/favicon.ico" sizes="any" />
35+
<link rel="icon" href="/favicon.png" type="image/png" sizes="48x48" />
36+
<link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32" />
37+
<link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16" />
38+
39+
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" />
40+
41+
<link rel="mask-icon" href="/mask-icon.svg" color="#7c3aed" />
42+
43+
<link rel="preload" as="image" href="/og-image.webp" imagesrcset="/og-image.webp 1200w" />
44+
45+
<link rel="dns-prefetch" href="https://api.web3forms.com" />
46+
47+
<!-- Open Graph -->
48+
<meta property="og:title" content="GhostCode Dynamics - Building Digital Solutions" />
49+
50+
<meta property="og:description"
51+
content="Building digital solutions for businesses while empowering the next generation of tech professionals." />
52+
53+
<meta property="og:image" content="https://ghostcodedynamics.github.io/og-image.webp" />
54+
55+
<meta property="og:image:width" content="1200" />
56+
<meta property="og:image:height" content="630" />
57+
<meta property="og:image:alt" content="GhostCode Dynamics brand preview" />
58+
<meta property="og:url" content="https://ghostcodedynamics.github.io/" />
59+
<meta property="og:type" content="website" />
60+
<meta property="og:site_name" content="GhostCode Dynamics" />
61+
<meta property="og:locale" content="en_IN" />
62+
63+
<meta property="og:image:type" content="image/webp" />
64+
65+
<meta property="og:image:secure_url" content="https://ghostcodedynamics.github.io/og-image.webp">
66+
67+
<meta name="format-detection" content="telephone=no">
68+
69+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
70+
71+
<!-- Twitter -->
72+
<meta name="twitter:card" content="summary_large_image" />
73+
74+
<meta name="twitter:title" content="GhostCode Dynamics - Building Digital Solutions" />
75+
76+
<meta name="twitter:description"
77+
content="Building digital solutions for businesses while empowering the next generation of tech professionals." />
78+
79+
<meta name="twitter:image" content="https://ghostcodedynamics.github.io/og-image.webp" />
80+
81+
<meta name="twitter:image:alt" content="GhostCode Dynamics brand preview" />
82+
83+
<meta name="twitter:creator" content="@GhostCodeHQ" />
84+
<meta name="twitter:site" content="@GhostCodeHQ" />
85+
86+
<!-- Schema -->
87+
<script type="application/ld+json">
88+
{
89+
"@context": "https://schema.org",
90+
"@graph": [
91+
{
92+
"@type": "Organization",
93+
"name": "GhostCode Dynamics",
94+
"url": "https://ghostcodedynamics.github.io/",
95+
"logo": "https://ghostcodedynamics.github.io/android-chrome-512.webp",
96+
"email": "ghostcodedynamics@gmail.com",
97+
"founder": {
98+
"@type": "Person",
99+
"name": "Jeet Ahirwar",
100+
"url": "https://ghostcodedynamics.github.io/founder"
101+
},
102+
"sameAs": [
103+
"https://github.com/JeetAhirwar",
104+
"https://www.linkedin.com/company/ghostcodedynamics/",
105+
"https://www.linkedin.com/in/jeetahirwar/",
106+
"https://www.instagram.com/ghostcodedynamics"
107+
]
108+
},
109+
{
110+
"@type": "WebSite",
111+
"name": "GhostCode Dynamics",
112+
"url": "https://ghostcodedynamics.github.io/",
113+
"inLanguage": "en"
114+
}
115+
]
116+
}
63117
</script>
64-
</head>
65-
<body class="min-h-dvh bg-background text-foreground antialiased">
66-
<div id="root"></div>
67-
<script type="module" src="/src/main.tsx"></script>
68-
</body>
69-
</html>
118+
119+
<!-- Theme + SPA Redirect -->
120+
<script>
121+
(function ()
122+
{
123+
try
124+
{
125+
var t = localStorage.getItem("ghostcode-theme");
126+
var isDark = t ? t === "dark" : true;
127+
document.documentElement.classList.toggle("dark", isDark);
128+
document.documentElement.style.colorScheme = isDark ? "dark" : "light";
129+
} catch (e) { }
130+
})();
131+
132+
(function ()
133+
{
134+
var l = window.location;
135+
if (l.search && l.search.indexOf("?/") === 0)
136+
{
137+
var decoded = l.search
138+
.slice(2)
139+
.split("&")
140+
.map(function (s)
141+
{
142+
return s.replace(/~and~/g, "&");
143+
})
144+
.join("?");
145+
window.history.replaceState(
146+
null,
147+
"",
148+
l.pathname.slice(0, -1) + decoded + l.hash
149+
);
150+
}
151+
})();
152+
</script>
153+
</head>
154+
155+
<body class="min-h-dvh bg-background text-foreground antialiased">
156+
<div id="root"></div>
157+
<script type="module" src="/src/main.tsx"></script>
158+
</body>
159+
160+
</html>

public/404.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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.0" />
6+
<meta name="robots" content="noindex" />
7+
<title>Redirecting - GhostCode Dynamics</title>
8+
<script>
9+
var path = window.location.pathname;
10+
var repoBase = "/";
11+
var redirect = repoBase + "?/" + path.slice(repoBase.length).replace(/&/g, "~and~");
12+
window.location.replace(redirect + window.location.search + window.location.hash);
13+
</script>
14+
</head>
15+
<body>
16+
<p>Redirecting...</p>
17+
</body>
18+
</html>

public/android-chrome-192.webp

1.7 KB
Loading

public/android-chrome-512.webp

6.68 KB
Loading

public/apple-touch-icon.png

-4.08 KB
Loading

public/aurora-bg.webp

40.3 KB
Loading

public/favicon-16x16.png

-58 Bytes
Loading

public/favicon-32x32.png

-272 Bytes
Loading

0 commit comments

Comments
 (0)