Skip to content

Commit 3e55b71

Browse files
committed
Add a new HTML page for redirecting to the llm-d Slack community
Signed-off-by: Pete Cheslock <[email protected]>
1 parent 3590a9e commit 3e55b71

File tree

1 file changed

+165
-0
lines changed

1 file changed

+165
-0
lines changed

static/slack/index.html

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
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+
7+
<!-- Primary redirect method - HTTP meta refresh (works in virtually all browsers) -->
8+
<meta http-equiv="refresh" content="2; url=https://communityinviter.com/apps/llm-d/join-the-llm-d-community">
9+
10+
<!-- Alternative refresh method for maximum compatibility -->
11+
<meta http-equiv="location" content="https://communityinviter.com/apps/llm-d/join-the-llm-d-community">
12+
13+
<!-- Canonical URL for SEO and indicating the destination -->
14+
<link rel="canonical" href="https://communityinviter.com/apps/llm-d/join-the-llm-d-community">
15+
16+
<!-- Page title and meta information -->
17+
<title>Redirecting to llm-d Slack Community</title>
18+
<meta name="description" content="Join the llm-d community on Slack. You are being redirected to our community invitation page.">
19+
<meta name="robots" content="noindex, nofollow">
20+
21+
<!-- Open Graph tags for social sharing -->
22+
<meta property="og:title" content="Join llm-d Slack Community">
23+
<meta property="og:description" content="Join the llm-d community on Slack">
24+
<meta property="og:url" content="https://communityinviter.com/apps/llm-d/join-the-llm-d-community">
25+
<meta property="og:type" content="website">
26+
27+
<!-- Twitter Card tags -->
28+
<meta name="twitter:card" content="summary">
29+
<meta name="twitter:title" content="Join llm-d Slack Community">
30+
<meta name="twitter:description" content="Join the llm-d community on Slack">
31+
32+
<!-- Favicon for branded experience -->
33+
<link rel="icon" type="image/png" href="/img/llm-d-favicon.png">
34+
35+
<!-- Basic styling for the fallback page -->
36+
<style>
37+
body {
38+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
39+
margin: 0;
40+
padding: 40px 20px;
41+
text-align: center;
42+
background-color: #f8f9fa;
43+
color: #333;
44+
line-height: 1.6;
45+
}
46+
.container {
47+
max-width: 600px;
48+
margin: 0 auto;
49+
background: white;
50+
padding: 40px;
51+
border-radius: 8px;
52+
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
53+
}
54+
.logo {
55+
max-width: 80px;
56+
margin-bottom: 20px;
57+
}
58+
h1 {
59+
color: #7f317f;
60+
margin-bottom: 20px;
61+
}
62+
.redirect-link {
63+
display: inline-block;
64+
background-color: #7f317f;
65+
color: white;
66+
padding: 12px 24px;
67+
text-decoration: none;
68+
border-radius: 6px;
69+
font-weight: 500;
70+
margin: 20px 0;
71+
transition: background-color 0.2s;
72+
}
73+
.redirect-link:hover {
74+
background-color: #6a2a6a;
75+
}
76+
.spinner {
77+
border: 3px solid #f3f3f3;
78+
border-top: 3px solid #7f317f;
79+
border-radius: 50%;
80+
width: 20px;
81+
height: 20px;
82+
animation: spin 1s linear infinite;
83+
display: inline-block;
84+
margin-right: 10px;
85+
}
86+
@keyframes spin {
87+
0% { transform: rotate(0deg); }
88+
100% { transform: rotate(360deg); }
89+
}
90+
.redirecting-text {
91+
margin: 20px 0;
92+
color: #666;
93+
}
94+
.manual-instructions {
95+
margin-top: 30px;
96+
padding-top: 30px;
97+
border-top: 1px solid #e9ecef;
98+
color: #666;
99+
font-size: 14px;
100+
}
101+
</style>
102+
</head>
103+
<body>
104+
<div class="container">
105+
<!-- llm-d logo -->
106+
<img src="/img/llm-d-icon.png" alt="llm-d logo" class="logo">
107+
108+
<h1>Join the llm-d Slack Community</h1>
109+
110+
<div class="redirecting-text">
111+
<div class="spinner"></div>
112+
<span id="redirect-message">Redirecting you to our Slack invitation page in <span id="countdown">2</span> seconds...</span>
113+
</div>
114+
115+
<!-- Primary fallback link for users who disable auto-redirects -->
116+
<p>
117+
<a href="https://communityinviter.com/apps/llm-d/join-the-llm-d-community" class="redirect-link">
118+
Click here if you are not redirected automatically
119+
</a>
120+
</p>
121+
122+
<div class="manual-instructions">
123+
<p><strong>If the redirect doesn't work:</strong></p>
124+
<p>Please copy and paste this URL into your browser:</p>
125+
<p style="word-break: break-all; font-family: monospace; background: #f8f9fa; padding: 10px; border-radius: 4px;">
126+
https://communityinviter.com/apps/llm-d/join-the-llm-d-community
127+
</p>
128+
</div>
129+
</div>
130+
131+
<!-- JavaScript countdown timer and redirect (optional enhancement - works even if disabled) -->
132+
<script>
133+
// Countdown timer for better user experience
134+
let timeLeft = 2;
135+
const countdownElement = document.getElementById('countdown');
136+
const messageElement = document.getElementById('redirect-message');
137+
138+
if (countdownElement && messageElement) {
139+
const countdown = setInterval(function() {
140+
timeLeft--;
141+
if (timeLeft > 0) {
142+
countdownElement.textContent = timeLeft;
143+
} else {
144+
messageElement.textContent = 'Redirecting now...';
145+
clearInterval(countdown);
146+
// JavaScript redirect as final fallback
147+
setTimeout(function() {
148+
window.location.replace("https://communityinviter.com/apps/llm-d/join-the-llm-d-community");
149+
}, 100);
150+
}
151+
}, 1000);
152+
} else {
153+
// Fallback if elements not found - immediate redirect
154+
setTimeout(function() {
155+
window.location.replace("https://communityinviter.com/apps/llm-d/join-the-llm-d-community");
156+
}, 2000);
157+
}
158+
</script>
159+
160+
<!-- Noscript fallback for browsers with JavaScript disabled -->
161+
<noscript>
162+
<meta http-equiv="refresh" content="2; url=https://communityinviter.com/apps/llm-d/join-the-llm-d-community">
163+
</noscript>
164+
</body>
165+
</html>

0 commit comments

Comments
 (0)