Skip to content

Commit c2f31ea

Browse files
Update landing page with minimalistic Apple-style design and San Francisco fonts
1 parent e87dba2 commit c2f31ea

File tree

1 file changed

+108
-54
lines changed

1 file changed

+108
-54
lines changed

index.html

Lines changed: 108 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
--apple-button-hover: #0077ed;
2020
--apple-feature-card: rgba(255, 255, 255, 0.8);
2121
--apple-card-shadow: rgba(0, 0, 0, 0.04);
22-
--heading-font: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
23-
--body-font: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
22+
--heading-font: -apple-system-headline, ui-sans-serif, system-ui, sans-serif, "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial;
23+
--body-font: -apple-system-body, ui-sans-serif, system-ui, sans-serif, "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial;
2424
--theme-switch-bg: #f5f5f7;
2525
--theme-switch-border: #d2d2d7;
2626
}
@@ -56,6 +56,8 @@
5656
letter-spacing: -0.022em;
5757
transition: background-color 0.5s ease, color 0.5s ease;
5858
-webkit-font-smoothing: antialiased;
59+
-moz-osx-font-smoothing: grayscale;
60+
text-rendering: optimizeLegibility;
5961
}
6062

6163
.container {
@@ -164,10 +166,11 @@
164166

165167
.hero {
166168
text-align: center;
167-
padding: 120px 0 80px;
169+
padding: 180px 0 120px;
168170
background-color: var(--apple-bg);
169171
transition: background-color 0.5s ease;
170172
overflow: hidden;
173+
position: relative;
171174
}
172175

173176
h1 {
@@ -176,17 +179,17 @@
176179
line-height: 1.07143;
177180
font-weight: 600;
178181
letter-spacing: -0.005em;
179-
margin-bottom: 8px;
182+
margin-bottom: 16px;
180183
color: var(--apple-text);
181184
transition: color 0.5s ease;
182185
}
183186

184187
.hero p {
185-
font-size: 23px;
188+
font-size: 27px;
186189
line-height: 1.381;
187190
font-weight: 400;
188191
letter-spacing: 0.004em;
189-
max-width: 600px;
192+
max-width: 760px;
190193
margin: 0 auto 40px;
191194
color: var(--apple-secondary-text);
192195
transition: color 0.5s ease;
@@ -196,7 +199,7 @@
196199
display: inline-block;
197200
background-color: var(--apple-button-bg);
198201
color: white;
199-
padding: 12px 22px;
202+
padding: 12px 28px;
200203
border-radius: 980px;
201204
text-decoration: none;
202205
font-size: 17px;
@@ -211,6 +214,7 @@
211214

212215
.btn:hover {
213216
background-color: var(--apple-button-hover);
217+
transform: scale(1.02);
214218
}
215219

216220
.btn-secondary {
@@ -224,14 +228,15 @@
224228
}
225229

226230
.highlights {
227-
padding: 100px 0;
231+
padding: 140px 0;
228232
background-color: var(--apple-bg);
229233
transition: background-color 0.5s ease;
234+
position: relative;
230235
}
231236

232237
.section-title {
233238
text-align: center;
234-
margin-bottom: 80px;
239+
margin-bottom: 100px;
235240
font-family: var(--heading-font);
236241
font-size: 48px;
237242
line-height: 1.08349;
@@ -243,14 +248,14 @@
243248

244249
.highlights-grid {
245250
display: grid;
246-
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
247-
gap: 40px;
251+
grid-template-columns: repeat(3, 1fr);
252+
gap: 60px;
248253
}
249254

250255
.highlight {
251256
text-align: center;
252-
padding: 40px 20px;
253-
border-radius: 20px;
257+
padding: 50px 30px;
258+
border-radius: 30px;
254259
background-color: var(--apple-secondary-bg);
255260
transition: transform 0.5s ease, background-color 0.5s ease;
256261
overflow: hidden;
@@ -263,7 +268,7 @@
263268
}
264269

265270
.highlight:hover {
266-
transform: scale(1.02);
271+
transform: translateY(-10px);
267272
}
268273

269274
.highlight h3 {
@@ -272,7 +277,7 @@
272277
line-height: 1.14286;
273278
font-weight: 600;
274279
letter-spacing: 0.007em;
275-
margin: 20px 0 10px;
280+
margin: 20px 0 16px;
276281
color: var(--apple-text);
277282
transition: color 0.5s ease;
278283
}
@@ -288,13 +293,14 @@
288293

289294
.highlight-icon {
290295
font-size: 56px;
291-
margin-bottom: 20px;
296+
margin-bottom: 24px;
292297
}
293298

294299
.features {
295-
padding: 100px 0;
300+
padding: 140px 0;
296301
background-color: var(--apple-secondary-bg);
297302
transition: background-color 0.5s ease;
303+
position: relative;
298304
}
299305

300306
[data-theme="dark"] .features {
@@ -303,13 +309,13 @@
303309

304310
.features-grid {
305311
display: grid;
306-
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
307-
gap: 30px;
312+
grid-template-columns: repeat(3, 1fr);
313+
gap: 40px;
308314
}
309315

310316
.feature {
311317
background-color: var(--apple-bg);
312-
border-radius: 20px;
318+
border-radius: 24px;
313319
overflow: hidden;
314320
box-shadow: 0 4px 30px var(--apple-card-shadow);
315321
transition: transform 0.5s ease, background-color 0.5s ease, box-shadow 0.5s ease;
@@ -320,12 +326,12 @@
320326
}
321327

322328
.feature:hover {
323-
transform: translateY(-6px);
324-
box-shadow: 0 12px 40px var(--apple-card-shadow);
329+
transform: translateY(-10px);
330+
box-shadow: 0 20px 50px var(--apple-card-shadow);
325331
}
326332

327333
.feature-content {
328-
padding: 30px;
334+
padding: 40px 30px;
329335
text-align: center;
330336
}
331337

@@ -335,7 +341,7 @@
335341
line-height: 1.16667;
336342
font-weight: 600;
337343
letter-spacing: 0.009em;
338-
margin-bottom: 10px;
344+
margin-bottom: 16px;
339345
color: var(--apple-text);
340346
transition: color 0.5s ease;
341347
}
@@ -350,13 +356,13 @@
350356
}
351357

352358
.feature-icon {
353-
font-size: 40px;
354-
margin-bottom: 20px;
359+
font-size: 48px;
360+
margin-bottom: 24px;
355361
}
356362

357363
footer {
358364
background-color: var(--apple-bg);
359-
padding: 20px 0;
365+
padding: 60px 0 30px;
360366
text-align: center;
361367
color: var(--apple-secondary-text);
362368
font-size: 12px;
@@ -378,17 +384,18 @@
378384
}
379385

380386
.footer-links {
381-
margin-bottom: 10px;
387+
margin-bottom: 30px;
382388
}
383389

384390
.footer-links a {
385391
margin: 0 15px;
392+
font-size: 14px;
386393
}
387394

388395
.footer-logo {
389396
display: block;
390-
margin: 0 auto 20px;
391-
height: 40px;
397+
margin: 0 auto 30px;
398+
height: 50px;
392399
}
393400

394401
.copyright {
@@ -402,16 +409,25 @@
402409
margin: 0 auto;
403410
}
404411

412+
.hero-image-container {
413+
position: relative;
414+
margin: 60px auto 0;
415+
max-width: 600px;
416+
}
417+
405418
.hero-image {
406419
max-width: 100%;
407420
height: auto;
408-
margin: 40px auto 0;
409-
transition: transform 0.5s ease;
410421
display: block;
422+
margin: 0 auto;
423+
transition: transform 0.8s ease;
424+
animation: float 6s ease-in-out infinite;
411425
}
412426

413-
.hero-image:hover {
414-
transform: scale(1.02);
427+
@keyframes float {
428+
0% { transform: translateY(0px); }
429+
50% { transform: translateY(-15px); }
430+
100% { transform: translateY(0px); }
415431
}
416432

417433
@media only screen and (max-width: 768px) {
@@ -447,61 +463,81 @@
447463
}
448464

449465
.hero {
450-
padding: 60px 0 40px;
466+
padding: 100px 0 80px;
451467
}
452468

453469
.hero p {
454-
font-size: 19px;
470+
font-size: 22px;
455471
}
456472

457473
.btn {
458474
display: block;
459-
margin: 10px auto;
475+
margin: 16px auto;
460476
max-width: 250px;
461477
}
462478

463479
.section-title {
464480
font-size: 32px;
465-
margin-bottom: 40px;
481+
margin-bottom: 60px;
466482
}
467483

468484
.highlights, .features {
469-
padding: 60px 0;
485+
padding: 80px 0;
486+
}
487+
488+
.highlights-grid, .features-grid {
489+
grid-template-columns: 1fr;
470490
}
471491
}
472492

473-
/* Mirroring Apple's animation style */
474-
@keyframes fadeIn {
475-
from { opacity: 0; transform: translateY(20px); }
493+
/* Subtle animations */
494+
@keyframes fadeUp {
495+
from { opacity: 0; transform: translateY(30px); }
476496
to { opacity: 1; transform: translateY(0); }
477497
}
478498

479-
.hero h1, .hero p, .btn, .hero-image, .highlight, .feature {
480-
animation: fadeIn 0.8s ease-out forwards;
499+
.hero h1 {
500+
animation: fadeUp 0.8s ease-out forwards;
481501
}
482502

483503
.hero p {
504+
animation: fadeUp 0.8s ease-out forwards;
484505
animation-delay: 0.2s;
506+
opacity: 0;
485507
}
486508

487509
.btn {
510+
animation: fadeUp 0.8s ease-out forwards;
488511
animation-delay: 0.4s;
512+
opacity: 0;
489513
}
490514

491-
.hero-image {
515+
.hero-image-container {
516+
animation: fadeUp 0.8s ease-out forwards;
492517
animation-delay: 0.6s;
518+
opacity: 0;
493519
}
494520

495-
.highlight:nth-child(1), .feature:nth-child(1) {
496-
animation-delay: 0.2s;
521+
.highlight, .feature {
522+
opacity: 0;
497523
}
498524

499-
.highlight:nth-child(2), .feature:nth-child(2) {
500-
animation-delay: 0.4s;
525+
/* Intersection Observer styles */
526+
.fade-in {
527+
opacity: 1;
528+
transform: translateY(0);
529+
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
501530
}
502-
503-
.highlight:nth-child(3), .feature:nth-child(3) {
504-
animation-delay: 0.6s;
531+
532+
/* Add system font stack with SF Pro dynamic scaling */
533+
@supports (font: -apple-system-body) {
534+
body {
535+
font: -apple-system-body;
536+
}
537+
538+
h1, h2, h3, .section-title {
539+
font: -apple-system-headline;
540+
}
505541
}
506542
</style>
507543
</head>
@@ -537,7 +573,9 @@ <h1>OpenAPI Integration with DocC</h1>
537573
<p>Transform OpenAPI specifications into beautiful, interactive documentation.</p>
538574
<a href="docs/index.html" class="btn">View Documentation</a>
539575
<a href="https://github.com/ayushshrivastv/OpenAPI-integration-with-DocC" class="btn btn-secondary">View on GitHub</a>
540-
<img src="docs/favicon.svg" alt="OpenAPI DocC graphic representation" class="hero-image" width="240">
576+
<div class="hero-image-container">
577+
<img src="docs/favicon.svg" alt="OpenAPI DocC graphic representation" class="hero-image" width="240">
578+
</div>
541579
</div>
542580
</section>
543581

@@ -595,7 +633,7 @@ <h3>Auto-updating</h3>
595633

596634
<footer>
597635
<div class="container">
598-
<img class="footer-logo" src="docs/favicon.svg" alt="OpenAPI DocC Logo" width="40">
636+
<img class="footer-logo" src="docs/favicon.svg" alt="OpenAPI DocC Logo" width="50">
599637
<div class="footer-links">
600638
<a href="https://github.com/ayushshrivastv/OpenAPI-integration-with-DocC">GitHub</a>
601639
<a href="docs/index.html">Documentation</a>
@@ -670,6 +708,22 @@ <h3>Auto-updating</h3>
670708
}
671709
});
672710
}
711+
712+
// Intersection Observer for animations
713+
const observer = new IntersectionObserver((entries) => {
714+
entries.forEach(entry => {
715+
if (entry.isIntersecting) {
716+
entry.target.classList.add('fade-in');
717+
}
718+
});
719+
}, {
720+
threshold: 0.2
721+
});
722+
723+
// Observe all highlights and features
724+
document.querySelectorAll('.highlight, .feature').forEach(el => {
725+
observer.observe(el);
726+
});
673727
});
674728
</script>
675729
</body>

0 commit comments

Comments
 (0)