aethex-forge/index.html
AeThex 34368e1dde
Some checks failed
Security Scan / semgrep (push) Has been cancelled
Security Scan / dependency-check (push) Has been cancelled
Build / build (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Lint & Type Check / lint (push) Has been cancelled
Test / test (18.x) (push) Has been cancelled
Test / test (20.x) (push) Has been cancelled
fix: server-side OG/Twitter meta injection for crawler visibility
Crawlers (Twitter, Discord, Slack) don't execute JavaScript, so the
client-side SEO.tsx useEffect was invisible to them. Every page looked
identical — the hardcoded homepage defaults in index.html.

- node-build.ts: replace simple sendFile with async SSR meta middleware
  that injects per-route title/description/og:*/twitter:* before sending
  HTML. Static route map covers ~15 routes; dynamic lookup queries
  Supabase for /projects/:uuid (title, description, image_url) and
  /passport/:username (full_name, bio) so shared project/profile links
  render correct cards in Discord/Twitter/Slack unfurls.
- index.html: add twitter:site @aethexcorp; SSO.tsx useEffect still
  runs for browser tab updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 14:30:47 +00:00

231 lines
9.5 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AeThex | Developer Platform for Builders, Creators & Innovation</title>
<meta
name="description"
content="AeThex: an advanced development platform and community for builders. Collaborate on projects, learn, and ship innovation."
/>
<meta
name="keywords"
content="AeThex, developer platform, projects, community, mentorship, research labs, consulting, tutorials"
/>
<meta name="application-name" content="AeThex" />
<meta name="theme-color" content="#0a0aff" />
<meta name="color-scheme" content="dark light" />
<meta
name="robots"
content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
/>
<meta name="googlebot" content="index, follow" />
<!-- Geo/Audience -->
<meta name="geo.placename" content="Worldwide" />
<meta name="distribution" content="Global" />
<meta name="rating" content="General" />
<!-- Canonical will be set dynamically to the current URL -->
<link rel="canonical" href="https://aethex.dev/" />
<!-- Favicons / Icons -->
<link
rel="icon"
type="image/png"
sizes="32x32"
href="https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=32&dpr=1&quality=100&sign=6c7576ce&sv=2"
/>
<link
rel="icon"
type="image/png"
sizes="192x192"
href="https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=192&dpr=1&quality=100&sign=6c7576ce&sv=2"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=180&dpr=1&quality=100&sign=6c7576ce&sv=2"
/>
<link rel="manifest" href="/site.webmanifest" />
<link
rel="alternate"
type="application/json"
href="/discord-manifest.json"
/>
<meta name="msapplication-TileColor" content="#0a0aff" />
<!-- Open Graph -->
<meta property="og:site_name" content="AeThex" />
<meta property="og:type" content="website" />
<meta
property="og:title"
content="AeThex — Developer Platform, Projects, Community"
/>
<meta
property="og:description"
content="Join AeThex to build, learn, and connect. Tutorials, mentorship, research labs, and a thriving developer community."
/>
<meta
property="og:image"
content="https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=1200&dpr=1&quality=100&sign=6c7576ce&sv=2"
/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://aethex.dev/" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@aethexcorp" />
<meta
name="twitter:title"
content="AeThex — Developer Platform, Projects, Community"
/>
<meta
name="twitter:description"
content="Build and innovate with AeThex. Projects, mentorship, research labs, and tutorials for modern developers."
/>
<meta
name="twitter:image"
content="https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=1200&dpr=1&quality=100&sign=6c7576ce&sv=2"
/>
<!-- Preconnects -->
<link
rel="preconnect"
href="https://kmdeisowhtsalsekkzqd.supabase.co"
crossorigin
/>
<link rel="preconnect" href="https://cdn.builder.io" crossorigin />
<!-- Structured Data + dynamic canonical/og:url -->
<script>
(function () {
var origin = location.origin;
function addJSONLD(obj) {
var s = document.createElement("script");
s.type = "application/ld+json";
s.text = JSON.stringify(obj);
document.head.appendChild(s);
}
// Organization
addJSONLD({
"@context": "https://schema.org",
"@type": "Organization",
name: "AeThex",
legalName: "AeThex Corporation",
url: origin,
logo: "https://docs.aethex.tech/~gitbook/image?url=https%3A%2F%2F1143808467-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FDhUg3jal6kdpG645FzIl%252Fsites%252Fsite_HeOmR%252Flogo%252FqxDYz8Oj2SnwUTa8t3UB%252FAeThex%2520Origin%2520logo.png%3Falt%3Dmedia%26token%3D200e8ea2-0129-4cbe-b516-4a53f60c512b&width=512&dpr=1&quality=100&sign=6c7576ce&sv=2",
areaServed: "Worldwide",
address: {
"@type": "PostalAddress",
addressLocality: "Queen Creek",
addressRegion: "AZ",
addressCountry: "US",
},
contactPoint: [
{
"@type": "ContactPoint",
contactType: "customer support",
email: "info@aethex.biz",
telephone: "+1-346-556-7100",
},
],
sameAs: ["https://aethex.biz", "https://aethex.dev"],
});
// Website
addJSONLD({
"@context": "https://schema.org",
"@type": "WebSite",
name: "AeThex",
url: origin,
});
// FAQ for AEO
addJSONLD({
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: [
{
"@type": "Question",
name: "What is AeThex?",
acceptedAnswer: {
"@type": "Answer",
text: "AeThex is an advanced development platform and community where developers collaborate on projects, learn through tutorials, and access mentorship and research labs.",
},
},
{
"@type": "Question",
name: "How do I get started?",
acceptedAnswer: {
"@type": "Answer",
text: "Visit the Get Started and Onboarding flows to create your profile and join projects.",
},
},
{
"@type": "Question",
name: "Does AeThex offer mentorship programs?",
acceptedAnswer: {
"@type": "Answer",
text: "Yes. AeThex provides mentorship programs and a community feed to help you grow and connect.",
},
},
],
});
// Set canonical and og:url to the current URL
var link = document.querySelector('link[rel="canonical"]');
if (!link) {
link = document.createElement("link");
link.rel = "canonical";
document.head.appendChild(link);
}
link.href = location.href;
var ogUrl = document.querySelector('meta[property="og:url"]');
if (!ogUrl) {
ogUrl = document.createElement("meta");
ogUrl.setAttribute("property", "og:url");
document.head.appendChild(ogUrl);
}
ogUrl.setAttribute("content", location.href);
})();
</script>
<!-- Discord SDK is imported in DiscordActivityContext.tsx from @discord/embedded-app-sdk npm package -->
<!-- Polyfill for crypto.randomUUID for compatibility - MUST run before any external scripts -->
<script>
(function () {
const randomUUID = function () {
const array = new Uint8Array(16);
crypto.getRandomValues(array);
array[6] = (array[6] & 0x0f) | 0x40;
array[8] = (array[8] & 0x3f) | 0x80;
const hex = Array.from(array).map((b) =>
b.toString(16).padStart(2, "0"),
);
return [
hex.slice(0, 4).join(""),
hex.slice(4, 6).join(""),
hex.slice(6, 8).join(""),
hex.slice(8, 10).join(""),
hex.slice(10, 16).join(""),
].join("-");
};
if (!crypto.randomUUID) {
crypto.randomUUID = randomUUID;
}
if (!globalThis.crypto?.randomUUID) {
if (!globalThis.crypto) globalThis.crypto = {};
globalThis.crypto.randomUUID = randomUUID;
}
})();
</script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/client/main.tsx"></script>
</body>
</html>