Gamehak commited on
Commit
14a31b5
·
verified ·
1 Parent(s): 12a9e8b

fait moi le home d'une documentation fait que sa claque beau stylé sa bouge et tout

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +281 -0
  3. components/navbar.js +198 -0
  4. index.html +199 -19
  5. script.js +130 -0
  6. style.css +104 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Docvortex
3
- emoji: 👀
4
- colorFrom: green
5
- colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: DocVortex 🌪️📚
3
+ colorFrom: blue
4
+ colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/footer.js ADDED
@@ -0,0 +1,281 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class DocFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: linear-gradient(to top, #111827, transparent);
8
+ padding: 3rem 2rem 2rem;
9
+ margin-top: 5rem;
10
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
11
+ }
12
+
13
+ .footer-wrapper {
14
+ max-width: 7xl;
15
+ margin: 0 auto;
16
+ display: grid;
17
+ grid-template-columns: repeat(1, 1fr);
18
+ gap: 2rem;
19
+ }
20
+
21
+ @media (min-width: 768px) {
22
+ .footer-wrapper {
23
+ grid-template-columns: repeat(4, 1fr);
24
+ }
25
+ }
26
+
27
+ .footer-section h3 {
28
+ color: white;
29
+ font-size: 1.25rem;
30
+ font-weight: bold;
31
+ margin-bottom: 1rem;
32
+ }
33
+
34
+ .footer-section a {
35
+ display: block;
36
+ color: #9ca3af;
37
+ text-decoration: none;
38
+ margin-bottom: 0.5rem;
39
+ transition: all 0.3s ease;
40
+ }
41
+
42
+ .footer-section a:hover {
43
+ color: #06b6d4;
44
+ transform: translateX(4px);
45
+ }
46
+
47
+ .newsletter {
48
+ background: rgba(255, 255, 255, 0.05);
49
+ backdrop-filter: blur(10px);
50
+ -webkit-backdrop-filter: blur(10px);
51
+ border: 1px solid rgba(255, 255, 255, 0.1);
52
+ border-radius: 1rem;
53
+ padding: 2rem;
54
+ margin-top: -4rem;
55
+ margin-bottom: 2rem;
56
+ }
57
+
58
+ .newsletter h3 {
59
+ color: white;
60
+ font-size: 1.5rem;
61
+ font-weight: bold;
62
+ margin-bottom: 0.5rem;
63
+ }
64
+
65
+ .newsletter p {
66
+ color: #9ca3af;
67
+ margin-bottom: 1.5rem;
68
+ }
69
+
70
+ .newsletter-form {
71
+ display: flex;
72
+ gap: 1rem;
73
+ }
74
+
75
+ .newsletter-input {
76
+ flex: 1;
77
+ background: rgba(255, 255, 255, 0.1);
78
+ border: 1px solid rgba(255, 255, 255, 0.2);
79
+ color: white;
80
+ padding: 0.75rem 1rem;
81
+ border-radius: 0.5rem;
82
+ transition: all 0.3s ease;
83
+ }
84
+
85
+ .newsletter-input:focus {
86
+ outline: none;
87
+ border-color: #06b6d4;
88
+ box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1);
89
+ }
90
+
91
+ .newsletter-input::placeholder {
92
+ color: rgba(255, 255, 255, 0.5);
93
+ }
94
+
95
+ .newsletter-button {
96
+ background: linear-gradient(to right, #06b6d4, #8b5cf6);
97
+ color: white;
98
+ border: none;
99
+ padding: 0.75rem 1.5rem;
100
+ border-radius: 0.5rem;
101
+ font-weight: 600;
102
+ cursor: pointer;
103
+ transition: all 0.3s ease;
104
+ }
105
+
106
+ .newsletter-button:hover {
107
+ transform: translateY(-2px);
108
+ box-shadow: 0 10px 20px rgba(6, 182, 212, 0.3);
109
+ }
110
+
111
+ .social-links {
112
+ display: flex;
113
+ gap: 1rem;
114
+ margin-top: 1.5rem;
115
+ }
116
+
117
+ .social-link {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ width: 3rem;
122
+ height: 3rem;
123
+ background: rgba(255, 255, 255, 0.1);
124
+ border: 1px solid rgba(255, 255, 255, 0.2);
125
+ border-radius: 0.5rem;
126
+ color: #9ca3af;
127
+ transition: all 0.3s ease;
128
+ text-decoration: none;
129
+ }
130
+
131
+ .social-link:hover {
132
+ background: linear-gradient(to right, #06b6d4, #8b5cf6);
133
+ color: white;
134
+ transform: translateY(-2px);
135
+ }
136
+
137
+ .copyright {
138
+ text-align: center;
139
+ color: #6b7280;
140
+ margin-top: 3rem;
141
+ padding-top: 2rem;
142
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
143
+ }
144
+
145
+ .copyright a {
146
+ color: #9ca3af;
147
+ text-decoration: none;
148
+ transition: color 0.3s ease;
149
+ }
150
+
151
+ .copyright a:hover {
152
+ color: #06b6d4;
153
+ }
154
+
155
+ .language-selector {
156
+ background: rgba(255, 255, 255, 0.1);
157
+ border: 1px solid rgba(255, 255, 255, 0.2);
158
+ color: white;
159
+ padding: 0.5rem 1rem;
160
+ border-radius: 0.5rem;
161
+ cursor: pointer;
162
+ transition: all 0.3s ease;
163
+ }
164
+
165
+ .language-selector:hover {
166
+ border-color: #06b6d4;
167
+ }
168
+
169
+ .language-selector option {
170
+ background: #111827;
171
+ }
172
+ </style>
173
+
174
+ <footer>
175
+ <div class="footer-wrapper">
176
+ <div class="newsletter">
177
+ <h3>Stay in the Loop</h3>
178
+ <p>Get the latest updates and exclusive content delivered to your inbox.</p>
179
+ <form class="newsletter-form">
180
+ <input type="email" placeholder="[email protected]" class="newsletter-input" required>
181
+ <button type="submit" class="newsletter-button">
182
+ <span class="relative z-10">Subscribe</span>
183
+ </button>
184
+ </form>
185
+ </div>
186
+
187
+ <div class="footer-section">
188
+ <h3>Product</h3>
189
+ <a href="#features">Features</a>
190
+ <a href="#pricing">Pricing</a>
191
+ <a href="#examples">Examples</a>
192
+ <a href="#templates">Templates</a>
193
+ <a href="#roadmap">Roadmap</a>
194
+ </div>
195
+
196
+ <div class="footer-section">
197
+ <h3>Resources</h3>
198
+ <a href="#documentation">Documentation</a>
199
+ <a href="#guides">Guides</a>
200
+ <a href="#api">API Reference</a>
201
+ <a href="#tutorials">Tutorials</a>
202
+ <a href="#community">Community</a>
203
+ </div>
204
+
205
+ <div class="footer-section">
206
+ <h3>Support</h3>
207
+ <a href="#help">Help Center</a>
208
+ <a href="#contact">Contact Us</a>
209
+ <a href="#status">Status</a>
210
+ <a href="#github">GitHub</a>
211
+ <a href="#twitter">Twitter</a>
212
+ </div>
213
+
214
+ <div class="footer-section">
215
+ <h3>Company</h3>
216
+ <a href="#about">About</a>
217
+ <a href="#blog">Blog</a>
218
+ <a href="#careers">Careers</a>
219
+ <a href="#press">Press</a>
220
+ <a href="#legal">Legal</a>
221
+
222
+ <div class="social-links">
223
+ <a href="#" class="social-link">
224
+ <i data-feather="github"></i>
225
+ </a>
226
+ <a href="#" class="social-link">
227
+ <i data-feather="twitter"></i>
228
+ </a>
229
+ <a href="#" class="social-link">
230
+ <i data-feather="linkedin"></i>
231
+ </a>
232
+ <a href="#" class="social-link">
233
+ <i data-feather="instagram"></i>
234
+ </a>
235
+ </div>
236
+ </div>
237
+ </div>
238
+
239
+ <div class="copyright">
240
+ <p>&copy; 2024 DocVortex. All rights reserved. |
241
+ <a href="#privacy">Privacy Policy</a> |
242
+ <a href="#terms">Terms of Service</a>
243
+ </p>
244
+ </div>
245
+ </footer>
246
+ `;
247
+
248
+ // Add newsletter form functionality
249
+ setTimeout(() => {
250
+ const form = this.shadowRoot.querySelector('.newsletter-form');
251
+ const button = form.querySelector('button');
252
+
253
+ form.addEventListener('submit', (e) => {
254
+ e.preventDefault();
255
+ const input = form.querySelector('input[type="email"]');
256
+
257
+ if (input.value) {
258
+ button.innerHTML = '<span class="relative z-10">✓ Subscribed!</span>';
259
+ button.style.background = 'linear-gradient(to right, #10b981, #059669)';
260
+ input.value = '';
261
+
262
+ setTimeout(() => {
263
+ button.innerHTML = '<span class="relative z-10">Subscribe</span>';
264
+ button.style.background = 'linear-gradient(to right, #06b6d4, #8b5cf6)';
265
+ }, 3000);
266
+ }
267
+ });
268
+
269
+ // Replace feather icons
270
+ if (typeof feather !== 'undefined') {
271
+ feather.replace({
272
+ 'stroke-width': 2,
273
+ 'height': 20,
274
+ 'width': 20
275
+ });
276
+ }
277
+ }, 100);
278
+ }
279
+ }
280
+
281
+ customElements.define('doc-footer', DocFooter);
components/navbar.js ADDED
@@ -0,0 +1,198 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class DocNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ position: fixed;
8
+ top: 0;
9
+ left: 0;
10
+ right: 0;
11
+ z-index: 1000;
12
+ }
13
+
14
+ nav {
15
+ background: rgba(17, 24, 39, 0.8);
16
+ backdrop-filter: blur(10px);
17
+ -webkit-backdrop-filter: blur(10px);
18
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
19
+ transition: all 0.3s ease;
20
+ }
21
+
22
+ .nav-wrapper {
23
+ max-width: 7xl;
24
+ margin: 0 auto;
25
+ padding: 1rem 2rem;
26
+ display: flex;
27
+ justify-content: space-between;
28
+ align-items: center;
29
+ }
30
+
31
+ .logo {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 0.75rem;
35
+ font-size: 1.5rem;
36
+ font-weight: bold;
37
+ background: linear-gradient(to right, #06b6d4, #8b5cf6);
38
+ -webkit-background-clip: text;
39
+ -webkit-text-fill-color: transparent;
40
+ text-decoration: none;
41
+ transition: all 0.3s ease;
42
+ }
43
+
44
+ .logo:hover {
45
+ transform: scale(1.05);
46
+ }
47
+
48
+ .nav-links {
49
+ display: flex;
50
+ gap: 2rem;
51
+ align-items: center;
52
+ }
53
+
54
+ .nav-link {
55
+ color: #d1d5db;
56
+ text-decoration: none;
57
+ transition: all 0.3s ease;
58
+ position: relative;
59
+ }
60
+
61
+ .nav-link:hover {
62
+ color: #06b6d4;
63
+ }
64
+
65
+ .nav-link::after {
66
+ content: '';
67
+ position: absolute;
68
+ bottom: -4px;
69
+ left: 0;
70
+ width: 0;
71
+ height: 2px;
72
+ background: linear-gradient(to right, #06b6d4, #8b5cf6);
73
+ transition: width 0.3s ease;
74
+ }
75
+
76
+ .nav-link:hover::after {
77
+ width: 100%;
78
+ }
79
+
80
+ .cta-button {
81
+ background: linear-gradient(to right, #06b6d4, #8b5cf6);
82
+ color: white;
83
+ padding: 0.75rem 1.5rem;
84
+ border-radius: 9999px;
85
+ text-decoration: none;
86
+ font-weight: 600;
87
+ transition: all 0.3s ease;
88
+ }
89
+
90
+ .cta-button:hover {
91
+ transform: translateY(-2px);
92
+ box-shadow: 0 10px 20px rgba(6, 182, 212, 0.3);
93
+ }
94
+
95
+ .mobile-menu-toggle {
96
+ display: none;
97
+ background: none;
98
+ border: none;
99
+ color: white;
100
+ cursor: pointer;
101
+ padding: 0.5rem;
102
+ }
103
+
104
+ .mobile-menu {
105
+ display: none;
106
+ position: absolute;
107
+ top: 100%;
108
+ left: 0;
109
+ right: 0;
110
+ background: rgba(17, 24, 39, 0.95);
111
+ backdrop-filter: blur(10px);
112
+ -webkit-backdrop-filter: blur(10px);
113
+ padding: 2rem;
114
+ gap: 1.5rem;
115
+ flex-direction: column;
116
+ }
117
+
118
+ .mobile-menu.active {
119
+ display: flex;
120
+ }
121
+
122
+ @media (max-width: 768px) {
123
+ .nav-links {
124
+ display: none;
125
+ }
126
+
127
+ .mobile-menu-toggle {
128
+ display: block;
129
+ }
130
+ }
131
+ </style>
132
+
133
+ <nav>
134
+ <div class="nav-wrapper">
135
+ <a href="/" class="logo">
136
+ <i data-feather="book-open"></i>
137
+ DocVortex
138
+ </a>
139
+
140
+ <div class="nav-links">
141
+ <a href="#features" class="nav-link">Features</a>
142
+ <a href="#components" class="nav-link">Components</a>
143
+ <a href="#guides" class="nav-link">Guides</a>
144
+ <a href="#api" class="nav-link">API</a>
145
+ <a href="#playground" class="cta-button">Playground</a>
146
+ </div>
147
+
148
+ <button class="mobile-menu-toggle" data-mobile-menu-toggle>
149
+ <i data-feather="menu" class="w-6 h-6"></i>
150
+ </button>
151
+ </div>
152
+
153
+ <div class="mobile-menu" data-mobile-menu>
154
+ <a href="#features" class="nav-link">Features</a>
155
+ <a href="#components" class="nav-link">Components</a>
156
+ <a href="#guides" class="nav-link">Guides</a>
157
+ <a href="#api" class="nav-link">API</a>
158
+ <a href="#playground" class="cta-button">Playground</a>
159
+ </div>
160
+ </nav>
161
+ `;
162
+
163
+ // Add mobile menu toggle functionality
164
+ setTimeout(() => {
165
+ const toggle = this.shadowRoot.querySelector('[data-mobile-menu-toggle]');
166
+ const menu = this.shadowRoot.querySelector('[data-mobile-menu]');
167
+
168
+ if (toggle && menu) {
169
+ toggle.addEventListener('click', () => {
170
+ menu.classList.toggle('active');
171
+ });
172
+ }
173
+
174
+ // Replace feather icons
175
+ if (typeof feather !== 'undefined') {
176
+ feather.replace({
177
+ 'stroke-width': 2,
178
+ 'height': 24,
179
+ 'width': 24
180
+ });
181
+ }
182
+ }, 100);
183
+
184
+ // Add scroll effect
185
+ window.addEventListener('scroll', () => {
186
+ const nav = this.shadowRoot.querySelector('nav');
187
+ if (window.scrollY > 50) {
188
+ nav.style.background = 'rgba(17, 24, 39, 0.95)';
189
+ nav.style.boxShadow = '0 4px 20px rgba(0, 0, 0, 0.3)';
190
+ } else {
191
+ nav.style.background = 'rgba(17, 24, 39, 0.8)';
192
+ nav.style.boxShadow = 'none';
193
+ }
194
+ });
195
+ }
196
+ }
197
+
198
+ customElements.define('doc-navbar', DocNavbar);
index.html CHANGED
@@ -1,19 +1,199 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ <title>DocVortex - Documentation that Sucks You In</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ </head>
13
+ <body class="bg-gray-900 text-white overflow-x-hidden">
14
+ <script src="components/navbar.js"></script>
15
+ <script src="components/footer.js"></script>
16
+
17
+ <!-- Navigation -->
18
+ <doc-navbar></doc-navbar>
19
+
20
+ <!-- Hero Section -->
21
+ <section class="relative min-h-screen flex items-center justify-center overflow-hidden">
22
+ <!-- Animated Background -->
23
+ <div class="absolute inset-0 z-0">
24
+ <div id="particles-js"></div>
25
+ <div class="absolute inset-0 bg-gradient-to-br from-purple-900 via-blue-900 to-indigo-900 opacity-60"></div>
26
+ </div>
27
+
28
+ <!-- Hero Content -->
29
+ <div class="relative z-10 text-center px-4 max-w-6xl mx-auto">
30
+ <div class="mb-8 animate-float">
31
+ <div class="inline-block relative">
32
+ <div class="absolute inset-0 bg-gradient-to-r from-cyan-400 to-purple-600 rounded-full blur-3xl opacity-30 animate-pulse"></div>
33
+ <img src="http://static.photos/technology/400x400/42" alt="DocVortex Logo" class="w-32 h-32 rounded-full relative z-10 border-4 border-white/20 shadow-2xl">
34
+ </div>
35
+ </div>
36
+
37
+ <h1 class="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-cyan-400 via-purple-500 to-pink-500 bg-clip-text text-transparent animate-text-shine">
38
+ DocVortex
39
+ </h1>
40
+ <p class="text-xl md:text-2xl text-gray-300 mb-8 max-w-3xl mx-auto leading-relaxed">
41
+ Documentation that doesn't suck. A whirlpool of knowledge with interactive examples,
42
+ beautiful design, and developer-first experience.
43
+ </p>
44
+
45
+ <div class="flex flex-wrap gap-4 justify-center mb-12">
46
+ <button class="group relative overflow-hidden px-8 py-4 bg-gradient-to-r from-cyan-500 to-purple-600 rounded-full font-semibold text-lg transition-all duration-300 hover:scale-105 hover:shadow-2xl hover:shadow-cyan-500/25">
47
+ <span class="relative z-10">Get Started</span>
48
+ <div class="absolute inset-0 bg-gradient-to-r from-purple-600 to-pink-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
49
+ </button>
50
+ <button class="group relative overflow-hidden px-8 py-4 bg-white/10 backdrop-blur-sm rounded-full font-semibold text-lg border border-white/20 transition-all duration-300 hover:bg-white/20 hover:scale-105">
51
+ <span class="relative z-10 flex items-center gap-2">
52
+ <i data-feather="github" class="w-5 h-5"></i>
53
+ View on GitHub
54
+ </span>
55
+ </button>
56
+ </div>
57
+
58
+ <!-- Stats -->
59
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-8 mt-16">
60
+ <div class="text-center group hover:scale-110 transition-all duration-300">
61
+ <div class="text-3xl md:text-4xl font-bold text-cyan-400 mb-2 counter" data-target="500">0</div>
62
+ <div class="text-gray-400">Components</div>
63
+ </div>
64
+ <div class="text-center group hover:scale-110 transition-all duration-300">
65
+ <div class="text-3xl md:text-4xl font-bold text-purple-400 mb-2 counter" data-target="1000">0</div>
66
+ <div class="text-gray-400">Examples</div>
67
+ </div>
68
+ <div class="text-center group hover:scale-110 transition-all duration-300">
69
+ <div class="text-3xl md:text-4xl font-bold text-pink-400 mb-2 counter" data-target="50">0</div>
70
+ <div class="text-gray-400">Languages</div>
71
+ </div>
72
+ <div class="text-center group hover:scale-110 transition-all duration-300">
73
+ <div class="text-3xl md:text-4xl font-bold text-orange-400 mb-2 counter" data-target="99">0</div>
74
+ <div class="text-gray-400">% Uptime</div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+
79
+ <!-- Scroll Indicator -->
80
+ <div class="absolute bottom-8 left-1/2 transform -translate-x-1/2 animate-bounce">
81
+ <div class="w-6 h-10 border-2 border-white/30 rounded-full flex justify-center">
82
+ <div class="w-1 h-3 bg-white/50 rounded-full mt-2 animate-scroll"></div>
83
+ </div>
84
+ </div>
85
+ </section>
86
+
87
+ <!-- Features Section -->
88
+ <section class="py-20 px-4 relative">
89
+ <div class="max-w-7xl mx-auto">
90
+ <h2 class="text-4xl md:text-5xl font-bold text-center mb-16 bg-gradient-to-r from-cyan-400 to-purple-600 bg-clip-text text-transparent">
91
+ Why Developers Love DocVortex
92
+ </h2>
93
+
94
+ <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
95
+ <!-- Feature 1 -->
96
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-cyan-500/50 transition-all duration-300">
97
+ <div class="absolute inset-0 bg-gradient-to-br from-cyan-500/10 to-purple-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
98
+ <div class="relative z-10">
99
+ <div class="w-16 h-16 bg-gradient-to-r from-cyan-500 to-blue-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
100
+ <i data-feather="zap" class="w-8 h-8 text-white"></i>
101
+ </div>
102
+ <h3 class="text-2xl font-bold mb-4 text-white">Lightning Fast</h3>
103
+ <p class="text-gray-400 leading-relaxed">Instant search, offline-first architecture, and blazing fast load times. No more waiting for documentation.</p>
104
+ </div>
105
+ </div>
106
+
107
+ <!-- Feature 2 -->
108
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-purple-500/50 transition-all duration-300">
109
+ <div class="absolute inset-0 bg-gradient-to-br from-purple-500/10 to-pink-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
110
+ <div class="relative z-10">
111
+ <div class="w-16 h-16 bg-gradient-to-r from-purple-500 to-pink-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
112
+ <i data-feather="code" class="w-8 h-8 text-white"></i>
113
+ </div>
114
+ <h3 class="text-2xl font-bold mb-4 text-white">Interactive Examples</h3>
115
+ <p class="text-gray-400 leading-relaxed">Live code editors, real-time previews, and copy-paste examples that actually work. Learn by doing.</p>
116
+ </div>
117
+ </div>
118
+
119
+ <!-- Feature 3 -->
120
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-pink-500/50 transition-all duration-300">
121
+ <div class="absolute inset-0 bg-gradient-to-br from-pink-500/10 to-orange-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
122
+ <div class="relative z-10">
123
+ <div class="w-16 h-16 bg-gradient-to-r from-pink-500 to-orange-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
124
+ <i data-feather="smartphone" class="w-8 h-8 text-white"></i>
125
+ </div>
126
+ <h3 class="text-2xl font-bold mb-4 text-white">Mobile First</h3>
127
+ <p class="text-gray-400 leading-relaxed">Beautiful on every device. Responsive design that adapts perfectly to your screen size.</p>
128
+ </div>
129
+ </div>
130
+
131
+ <!-- Feature 4 -->
132
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-green-500/50 transition-all duration-300">
133
+ <div class="absolute inset-0 bg-gradient-to-br from-green-500/10 to-cyan-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
134
+ <div class="relative z-10">
135
+ <div class="w-16 h-16 bg-gradient-to-r from-green-500 to-cyan-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
136
+ <i data-feather="moon" class="w-8 h-8 text-white"></i>
137
+ </div>
138
+ <h3 class="text-2xl font-bold mb-4 text-white">Dark Mode Native</h3>
139
+ <p class="text-gray-400 leading-relaxed">Designed from the ground up for dark mode. Easy on the eyes during those late-night coding sessions.</p>
140
+ </div>
141
+ </div>
142
+
143
+ <!-- Feature 5 -->
144
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-yellow-500/50 transition-all duration-300">
145
+ <div class="absolute inset-0 bg-gradient-to-br from-yellow-500/10 to-orange-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
146
+ <div class="relative z-10">
147
+ <div class="w-16 h-16 bg-gradient-to-r from-yellow-500 to-orange-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
148
+ <i data-feather="search" class="w-8 h-8 text-white"></i>
149
+ </div>
150
+ <h3 class="text-2xl font-bold mb-4 text-white">AI-Powered Search</h3>
151
+ <p class="text-gray-400 leading-relaxed">Find what you need instantly with semantic search. Ask questions in natural language.</p>
152
+ </div>
153
+ </div>
154
+
155
+ <!-- Feature 6 -->
156
+ <div class="group relative bg-gray-800/50 backdrop-blur-sm rounded-2xl p-8 border border-white/10 overflow-hidden hover:border-indigo-500/50 transition-all duration-300">
157
+ <div class="absolute inset-0 bg-gradient-to-br from-indigo-500/10 to-purple-500/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
158
+ <div class="relative z-10">
159
+ <div class="w-16 h-16 bg-gradient-to-r from-indigo-500 to-purple-600 rounded-2xl mb-6 flex items-center justify-center group-hover:scale-110 transition-transform duration-300">
160
+ <i data-feather="users" class="w-8 h-8 text-white"></i>
161
+ </div>
162
+ <h3 class="text-2xl font-bold mb-4 text-white">Community Driven</h3>
163
+ <p class="text-gray-400 leading-relaxed">Contributions from developers worldwide. Constantly updated with the latest best practices.</p>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </section>
169
+
170
+ <!-- CTA Section -->
171
+ <section class="py-20 px-4 relative overflow-hidden">
172
+ <div class="absolute inset-0 bg-gradient-to-r from-purple-900/50 to-blue-900/50"></div>
173
+ <div class="max-w-4xl mx-auto text-center relative z-10">
174
+ <h2 class="text-4xl md:text-5xl font-bold mb-6 bg-gradient-to-r from-cyan-400 to-purple-600 bg-clip-text text-transparent">
175
+ Ready to Dive In?
176
+ </h2>
177
+ <p class="text-xl text-gray-300 mb-8">
178
+ Join thousands of developers who are already surfing the DocVortex wave.
179
+ </p>
180
+ <div class="flex flex-wrap gap-4 justify-center">
181
+ <input type="email" placeholder="Enter your email" class="px-6 py-4 bg-white/10 backdrop-blur-sm rounded-full border border-white/20 focus:outline-none focus:border-cyan-500 focus:ring-2 focus:ring-cyan-500/20 w-full max-w-sm">
182
+ <button class="group relative overflow-hidden px-8 py-4 bg-gradient-to-r from-cyan-500 to-purple-600 rounded-full font-semibold text-lg transition-all duration-300 hover:scale-105 hover:shadow-2xl hover:shadow-cyan-500/25">
183
+ <span class="relative z-10">Get Early Access</span>
184
+ <div class="absolute inset-0 bg-gradient-to-r from-purple-600 to-pink-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
185
+ </button>
186
+ </div>
187
+ </div>
188
+ </section>
189
+
190
+ <!-- Footer -->
191
+ <doc-footer></doc-footer>
192
+
193
+ <script src="components/navbar.js"></script>
194
+ <script src="components/footer.js"></script>
195
+ <script src="script.js"></script>
196
+ <script>feather.replace();</script>
197
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
198
+ </body>
199
+ </html>
script.js ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Counter animation
2
+ const counters = document.querySelectorAll('.counter');
3
+ const speed = 200;
4
+
5
+ const animateCounter = (counter) => {
6
+ const target = +counter.getAttribute('data-target');
7
+ const count = +counter.innerText;
8
+ const increment = target / speed;
9
+
10
+ if (count < target) {
11
+ counter.innerText = Math.ceil(count + increment);
12
+ setTimeout(() => animateCounter(counter), 1);
13
+ } else {
14
+ counter.innerText = target;
15
+ }
16
+ };
17
+
18
+ // Intersection Observer for counter animation
19
+ const observerOptions = {
20
+ threshold: 0.5
21
+ };
22
+
23
+ const observer = new IntersectionObserver((entries) => {
24
+ entries.forEach(entry => {
25
+ if (entry.isIntersecting) {
26
+ animateCounter(entry.target);
27
+ observer.unobserve(entry.target);
28
+ }
29
+ });
30
+ }, observerOptions);
31
+
32
+ counters.forEach(counter => {
33
+ observer.observe(counter);
34
+ });
35
+
36
+ // Particles.js configuration
37
+ if (document.getElementById('particles-js')) {
38
+ particlesJS('particles-js', {
39
+ particles: {
40
+ number: { value: 80, density: { enable: true, value_area: 800 } },
41
+ color: { value: ['#06b6d4', '#8b5cf6', '#ec4899'] },
42
+ shape: { type: 'circle' },
43
+ opacity: { value: 0.5, random: true },
44
+ size: { value: 3, random: true },
45
+ line_linked: {
46
+ enable: true,
47
+ distance: 150,
48
+ color: '#06b6d4',
49
+ opacity: 0.2,
50
+ width: 1
51
+ },
52
+ move: {
53
+ enable: true,
54
+ speed: 2,
55
+ direction: 'none',
56
+ random: true,
57
+ straight: false,
58
+ out_mode: 'out',
59
+ bounce: false
60
+ }
61
+ },
62
+ interactivity: {
63
+ detect_on: 'canvas',
64
+ events: {
65
+ onhover: { enable: true, mode: 'grab' },
66
+ onclick: { enable: true, mode: 'push' },
67
+ resize: true
68
+ },
69
+ modes: {
70
+ grab: { distance: 200, line_linked: { opacity: 0.5 } },
71
+ push: { particles_nb: 4 }
72
+ }
73
+ },
74
+ retina_detect: true
75
+ });
76
+ }
77
+
78
+ // Smooth scroll for anchor links
79
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
80
+ anchor.addEventListener('click', function (e) {
81
+ e.preventDefault();
82
+ const target = document.querySelector(this.getAttribute('href'));
83
+ if (target) {
84
+ target.scrollIntoView({
85
+ behavior: 'smooth',
86
+ block: 'start'
87
+ });
88
+ }
89
+ });
90
+ });
91
+
92
+ // Add hover effect to cards
93
+ document.querySelectorAll('.group').forEach(card => {
94
+ card.addEventListener('mouseenter', function() {
95
+ this.style.transform = 'translateY(-5px)';
96
+ });
97
+
98
+ card.addEventListener('mouseleave', function() {
99
+ this.style.transform = 'translateY(0)';
100
+ });
101
+ });
102
+
103
+ // Form submission handler (placeholder)
104
+ document.querySelector('input[type="email"]')?.closest('div')?.querySelector('button')?.addEventListener('click', function(e) {
105
+ e.preventDefault();
106
+ const email = document.querySelector('input[type="email"]').value;
107
+ if (email) {
108
+ this.innerHTML = '<span class="relative z-10">✓ Check your email!</span>';
109
+ this.style.background = 'linear-gradient(to right, #10b981, #059669)';
110
+ }
111
+ });
112
+
113
+ // Mobile menu toggle (if needed)
114
+ const mobileMenuToggle = document.querySelector('[data-mobile-menu-toggle]');
115
+ const mobileMenu = document.querySelector('[data-mobile-menu]');
116
+
117
+ if (mobileMenuToggle && mobileMenu) {
118
+ mobileMenuToggle.addEventListener('click', () => {
119
+ mobileMenu.classList.toggle('hidden');
120
+ });
121
+ }
122
+
123
+ // Add scroll-based animations
124
+ window.addEventListener('scroll', () => {
125
+ const scrolled = window.pageYOffset;
126
+ const parallax = document.querySelector('#particles-js');
127
+ if (parallax) {
128
+ parallax.style.transform = `translateY(${scrolled * 0.5}px)`;
129
+ }
130
+ });
style.css CHANGED
@@ -1,28 +1,113 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Custom animations and styles */
2
+ @keyframes float {
3
+ 0%, 100% { transform: translateY(0px); }
4
+ 50% { transform: translateY(-20px); }
5
  }
6
 
7
+ @keyframes text-shine {
8
+ 0% { background-position: 0% 50%; }
9
+ 100% { background-position: 100% 50%; }
10
  }
11
 
12
+ @keyframes scroll {
13
+ 0% { transform: translateY(0); opacity: 1; }
14
+ 100% { transform: translateY(10px); opacity: 0; }
 
 
15
  }
16
 
17
+ /* Custom styles */
18
+ .animate-float {
19
+ animation: float 6s ease-in-out infinite;
 
 
 
20
  }
21
 
22
+ .animate-text-shine {
23
+ background-size: 200% auto;
24
+ animation: text-shine 3s linear infinite;
25
  }
26
+
27
+ .animate-scroll {
28
+ animation: scroll 2s ease-in-out infinite;
29
+ }
30
+
31
+ /* Particles canvas styling */
32
+ #particles-js {
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%;
36
+ top: 0;
37
+ left: 0;
38
+ z-index: 0;
39
+ }
40
+
41
+ /* Counter animation */
42
+ .counter {
43
+ transition: all 0.3s ease-out;
44
+ }
45
+
46
+ /* Custom scrollbar */
47
+ ::-webkit-scrollbar {
48
+ width: 10px;
49
+ }
50
+
51
+ ::-webkit-scrollbar-track {
52
+ background: #1f2937;
53
+ }
54
+
55
+ ::-webkit-scrollbar-thumb {
56
+ background: linear-gradient(45deg, #06b6d4, #8b5cf6);
57
+ border-radius: 5px;
58
+ }
59
+
60
+ ::-webkit-scrollbar-thumb:hover {
61
+ background: linear-gradient(45deg, #0891b2, #7c3aed);
62
+ }
63
+
64
+ /* Smooth scrolling */
65
+ html {
66
+ scroll-behavior: smooth;
67
+ }
68
+
69
+ /* Focus styles */
70
+ input:focus {
71
+ outline: none;
72
+ box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1), 0 0 0 1px rgba(6, 182, 212, 0.5);
73
+ }
74
+
75
+ /* Glass morphism effect */
76
+ .glass {
77
+ background: rgba(255, 255, 255, 0.1);
78
+ backdrop-filter: blur(10px);
79
+ -webkit-backdrop-filter: blur(10px);
80
+ border: 1px solid rgba(255, 255, 255, 0.2);
81
+ }
82
+
83
+ /* Gradient border */
84
+ .gradient-border {
85
+ position: relative;
86
+ background: linear-gradient(90deg, #06b6d4, #8b5cf6, #ec4899);
87
+ padding: 2px;
88
+ border-radius: 1rem;
89
+ }
90
+
91
+ .gradient-border > * {
92
+ background: #111827;
93
+ border-radius: calc(1rem - 2px);
94
+ }
95
+
96
+ /* Hover effects */
97
+ .hover-lift {
98
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
99
+ }
100
+
101
+ .hover-lift:hover {
102
+ transform: translateY(-5px);
103
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
104
+ }
105
+
106
+ /* Loading animation */
107
+ @keyframes spin {
108
+ to { transform: rotate(360deg); }
109
+ }
110
+
111
+ .animate-spin-slow {
112
+ animation: spin 3s linear infinite;
113
+ }