Add tutorial docs and interactive playgrounds

Amp-Thread-ID: https://ampcode.com/threads/T-01a01380-b478-77d0-84a0-102880a5c5ae
Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
This commit is contained in:
Amp
2026-08-19 14:20:59 +00:00
co-authored by heaust
parent 6bbf8039e4
commit d34722d66d
57 changed files with 5063 additions and 767 deletions
+90
View File
@@ -0,0 +1,90 @@
:root {
--vp-c-brand-1: #d86535;
--vp-c-brand-2: #ee7946;
--vp-c-brand-3: #f1956d;
--vp-c-brand-soft: rgba(224, 104, 54, 0.14);
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: linear-gradient(110deg, #ef7b47, #f5bc75);
--vp-home-hero-image-background-image: radial-gradient(circle, #da633950 0%, transparent 68%);
--vp-home-hero-image-filter: blur(44px);
}
.dark {
--vp-c-bg: #0a0d12;
--vp-c-bg-alt: #0f141c;
--vp-c-bg-soft: #121821;
--vp-c-bg-elv: #151c26;
--vp-c-divider: #27303c;
--vp-code-block-bg: #0b1017;
}
.VPNavBarTitle .title { letter-spacing: 0.08em; }
.VPHomeHero .name { letter-spacing: -0.045em; }
.VPHomeHero .text { max-width: 760px; letter-spacing: -0.04em; }
.VPHomeHero .tagline { max-width: 610px; }
.VPFeature { border-color: var(--vp-c-divider); }
.yawn-playground {
margin: 28px 0;
overflow: hidden;
border: 1px solid var(--vp-c-divider);
border-radius: 12px;
background: #080b10;
box-shadow: 0 18px 55px #0003;
}
.yawn-playground__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 16px 18px;
border-bottom: 1px solid #26303c;
background: #111720;
}
.yawn-playground__header > div { display: grid; gap: 3px; }
.yawn-playground__header span {
color: #ef7b47;
font: 700 10px ui-monospace, monospace;
letter-spacing: 0.12em;
}
.yawn-playground__header strong { color: #f1f4f8; font-size: 15px; }
.yawn-playground__header p { margin: 0; color: #8f9bac; font-size: 12px; }
.yawn-playground__header a {
flex: none;
padding: 8px 11px;
border: 1px solid #e47748;
border-radius: 6px;
color: #fff;
background: #c65d2f;
font-size: 12px;
font-weight: 700;
text-decoration: none;
}
.yawn-playground iframe { display: block; width: 100%; height: 360px; border: 0; }
.package-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin: 24px 0;
}
.package-grid > a {
display: block;
padding: 18px;
border: 1px solid var(--vp-c-divider);
border-radius: 10px;
color: var(--vp-c-text-1);
background: var(--vp-c-bg-soft);
text-decoration: none;
}
.package-grid > a:hover { border-color: var(--vp-c-brand-1); }
.package-grid strong { display: block; margin-bottom: 4px; }
.package-grid span { color: var(--vp-c-text-2); font-size: 13px; }
@media (max-width: 640px) {
.package-grid { grid-template-columns: 1fr; }
.yawn-playground__header { align-items: flex-start; flex-direction: column; }
.yawn-playground iframe { height: 280px; }
}