Skip to content

Commit 41ec3c9

Browse files
committed
Enhance tutorial layout and add quick-start code block with copy functionality
1 parent f00522e commit 41ec3c9

2 files changed

Lines changed: 368 additions & 215 deletions

File tree

feascript-website.css

Lines changed: 141 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -325,36 +325,71 @@ mjx-container {
325325
list-style: none;
326326
margin: 0;
327327
padding-left: 0;
328+
max-width: 900px;
328329
}
329330

330331
.tutorials-list li {
331-
margin-bottom: 0.5em;
332-
border-bottom: 1px solid #ddd;
333-
padding-bottom: 0.5em;
332+
display: flex;
333+
align-items: center;
334+
justify-content: space-between;
335+
gap: 20px;
336+
margin-bottom: 12px;
337+
padding: 14px 18px;
338+
border-radius: 12px;
339+
border: 1px solid #e8e8e8;
340+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
341+
transition: box-shadow 0.2s ease, transform 0.2s ease;
342+
max-width: 900px;
343+
}
344+
345+
.tutorials-list li:hover {
346+
box-shadow: 0 5px 18px rgba(0, 0, 0, 0.11);
347+
transform: translateY(-2px);
348+
}
349+
350+
.tutorial-card-content {
351+
flex: 1;
352+
min-width: 0;
353+
}
354+
355+
.tutorial-card-badges {
356+
margin-top: 8px;
357+
display: flex;
358+
flex-wrap: wrap;
359+
gap: 6px;
360+
}
361+
362+
.tutorial-card-image {
363+
flex-shrink: 0;
364+
width: 130px;
365+
height: 90px;
366+
object-fit: cover;
367+
border-radius: 8px;
368+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
369+
display: block;
334370
}
335371

336372
.tutorial-name {
337-
display: inline-block;
338-
vertical-align: middle;
339-
font-weight: 550;
340-
margin-right: 10px;
373+
display: block;
374+
font-weight: 600;
375+
font-size: 1em;
376+
color: #333;
377+
margin-bottom: 2px;
341378
}
342379

343380
.tutorials-list .badge {
344-
display: inline-block;
381+
display: inline-flex;
382+
align-items: center;
345383
background-color: #f7e7b7;
346384
color: #333;
347-
font-size: 90%;
348-
padding: 0.1em 0.8em;
385+
font-size: 88%;
386+
padding: 0.2em 0.8em;
349387
border-radius: 8px;
350-
margin-right: 0.5em;
351-
margin-top: 0.1em;
352-
margin-bottom: 0.1em;
353-
vertical-align: middle;
354388
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
355389
font-weight: 500;
356390
letter-spacing: 0.3px;
357391
border: 1px solid rgba(255, 255, 255, 0.2);
392+
white-space: nowrap;
358393
}
359394

360395
.tutorials-list .badge:hover {
@@ -415,6 +450,90 @@ mjx-container {
415450
margin: 1em 0;
416451
}
417452

453+
/* Quick-start code block */
454+
.code-block-wrapper {
455+
position: relative;
456+
max-width: 1000px;
457+
}
458+
459+
.code-block-wrapper pre {
460+
max-height: 450px;
461+
overflow-y: auto;
462+
}
463+
464+
.copy-code-btn {
465+
position: absolute;
466+
top: 10px;
467+
right: 10px;
468+
display: inline-flex;
469+
align-items: center;
470+
gap: 5px;
471+
background: rgba(255, 255, 255, 0.9);
472+
border: 1px solid #ddd;
473+
border-radius: 6px;
474+
padding: 4px 10px;
475+
font-size: 0.8em;
476+
font-family: inherit;
477+
color: #555;
478+
cursor: pointer;
479+
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
480+
transition: background 0.15s, color 0.15s, box-shadow 0.15s;
481+
z-index: 10;
482+
}
483+
484+
.copy-code-btn:hover {
485+
background: #f7e7b7;
486+
border-color: #c9a94e;
487+
color: #333;
488+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
489+
}
490+
491+
.copy-code-btn.copied {
492+
background: #e8f5e9;
493+
border-color: #66bb6a;
494+
color: #2e7d32;
495+
}
496+
497+
/* Quick-start actions bar */
498+
.quickstart-actions {
499+
display: flex;
500+
align-items: center;
501+
flex-wrap: wrap;
502+
gap: 14px;
503+
max-width: 1000px;
504+
margin: 10px 0 1.5em;
505+
}
506+
507+
.quickstart-note {
508+
margin: 0;
509+
flex: 1;
510+
min-width: 200px;
511+
font-size: 0.9em;
512+
color: #555;
513+
}
514+
515+
.btn-codepen {
516+
display: inline-flex;
517+
align-items: center;
518+
gap: 6px;
519+
background: #47cf73;
520+
color: #111;
521+
font-weight: 600;
522+
font-size: 0.9em;
523+
padding: 7px 16px;
524+
border-radius: 8px;
525+
text-decoration: none;
526+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
527+
transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
528+
white-space: nowrap;
529+
}
530+
531+
.btn-codepen:hover {
532+
background: #35ba5f;
533+
transform: translateY(-2px);
534+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
535+
}
536+
418537

419538
/* Media queries */
420539
/* Small screens: up to 500px */
@@ -445,10 +564,17 @@ mjx-container {
445564
max-width: 400px;
446565
}
447566

448-
.tutorials-list li a {
567+
.tutorials-list .badge {
449568
font-size: 100%;
450569
}
451570

571+
.tutorial-card-image {
572+
display: none;
573+
}
574+
575+
.tutorials-list li {
576+
padding: 10px 12px;
577+
}
452578
}
453579

454580
/* Medium screens: 500px to 1000px */

0 commit comments

Comments
 (0)