feat: Добавить VitePress

This commit is contained in:
2026-07-25 17:56:16 +03:00
parent cfcff10c58
commit 6f6e4896af
80 changed files with 4663 additions and 665 deletions

View File

@@ -0,0 +1,248 @@
:root {
--vp-layout-top-height: 34px;
--vp-c-brand-1: #b45309;
--vp-c-brand-2: #d97706;
--vp-c-brand-3: #f59e0b;
--vp-c-brand-soft: rgba(217, 119, 6, 0.14);
--vp-c-bg: #f8f7f4;
--vp-c-bg-alt: #efede8;
--vp-c-bg-elv: #ffffff;
--vp-c-bg-soft: #f1efe9;
--vp-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--vp-font-family-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: linear-gradient(120deg, #92400e 5%, #d97706 50%, #f59e0b 95%);
--vp-home-hero-image-background-image: radial-gradient(circle, rgba(245, 158, 11, 0.32), transparent 68%);
--vp-home-hero-image-filter: blur(56px);
}
.dark {
--vp-c-brand-1: #fbbf24;
--vp-c-brand-2: #f59e0b;
--vp-c-brand-3: #d97706;
--vp-c-brand-soft: rgba(245, 158, 11, 0.16);
--vp-c-bg: #111315;
--vp-c-bg-alt: #191c1f;
--vp-c-bg-elv: #202428;
--vp-c-bg-soft: #1c2023;
}
html {
scroll-padding-top: calc(var(--vp-nav-height) + var(--vp-layout-top-height) + 24px);
}
.draft-banner {
position: fixed;
inset: 0 0 auto;
z-index: 50;
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
height: var(--vp-layout-top-height);
padding: 0 16px;
overflow: hidden;
border-bottom: 1px solid rgba(120, 53, 15, 0.2);
background: #fef3c7;
color: #78350f;
font-family: var(--vp-font-family-mono);
font-size: 11px;
font-weight: 650;
letter-spacing: 0.055em;
text-overflow: ellipsis;
white-space: nowrap;
}
.dark .draft-banner {
border-bottom-color: rgba(251, 191, 36, 0.22);
background: #2b2114;
color: #fde68a;
}
.draft-banner__mark {
width: 7px;
height: 7px;
flex: 0 0 auto;
border-radius: 50%;
background: #d97706;
box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.13);
}
.VPNavBarTitle .logo {
width: 25px;
height: 25px;
}
.doc-set-header {
display: grid;
gap: 7px;
margin: 0 0 22px;
padding: 0 0 18px;
border-bottom: 1px solid var(--vp-c-divider);
}
.doc-set-header__back {
width: fit-content;
color: var(--vp-c-text-3);
font-size: 11px;
font-weight: 650;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.doc-set-header__back::before {
content: '←';
margin-right: 6px;
}
.doc-set-header__title {
color: var(--vp-c-text-1);
font-size: 15px;
font-weight: 700;
line-height: 1.35;
}
.doc-set-header__meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.doc-set-header__meta span {
padding: 3px 6px;
border-radius: 4px;
background: var(--vp-c-brand-soft);
color: var(--vp-c-brand-1);
font-family: var(--vp-font-family-mono);
font-size: 9px;
font-weight: 700;
letter-spacing: 0.045em;
text-transform: uppercase;
}
.VPHome {
background-image:
linear-gradient(rgba(120, 113, 108, 0.07) 1px, transparent 1px),
linear-gradient(90deg, rgba(120, 113, 108, 0.07) 1px, transparent 1px);
background-position: center top;
background-size: 40px 40px;
}
.VPHero .name,
.VPHero .text {
letter-spacing: -0.045em;
}
.VPHero .tagline {
max-width: 660px;
font-size: 19px;
line-height: 1.65;
}
.VPFeature {
border-color: rgba(120, 113, 108, 0.2) !important;
background: color-mix(in srgb, var(--vp-c-bg-soft) 84%, transparent) !important;
backdrop-filter: blur(8px);
}
.vp-doc h1,
.vp-doc h2,
.vp-doc h3 {
letter-spacing: -0.025em;
}
.vp-doc h1 {
font-size: clamp(2rem, 4vw, 2.65rem);
}
.vp-doc table {
display: table;
width: 100%;
}
.vp-doc .slm-rule {
position: relative;
margin: 18px 0;
padding: 15px 18px 15px 20px;
scroll-margin-top: calc(var(--vp-nav-height) + var(--vp-layout-top-height) + 24px);
border: 1px solid var(--vp-c-divider);
border-left: 3px solid var(--vp-c-brand-2);
border-radius: 0 8px 8px 0;
background: var(--vp-c-bg-soft);
line-height: 1.7;
}
.vp-doc .slm-rule strong:first-child {
color: var(--vp-c-text-1);
font-family: var(--vp-font-family-mono);
font-size: 0.89em;
letter-spacing: -0.015em;
}
.vp-doc .slm-rule__permalink {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
margin: 0 2px 0 7px;
border-radius: 4px;
color: var(--vp-c-brand-1);
font-family: var(--vp-font-family-mono);
font-size: 13px;
font-weight: 700;
opacity: 0;
transition: background-color 0.15s, opacity 0.15s;
vertical-align: -1px;
}
.vp-doc .slm-rule:hover .slm-rule__permalink,
.vp-doc .slm-rule__permalink:focus-visible {
opacity: 1;
}
.vp-doc .slm-rule__permalink:hover,
.vp-doc .slm-rule__permalink:focus-visible {
background: var(--vp-c-brand-soft);
}
.vp-doc .slm-rule--prohibited {
border-left-color: #dc2626;
background: rgba(220, 38, 38, 0.06);
}
.vp-doc .slm-rule--recommended {
border-left-color: #2563eb;
background: rgba(37, 99, 235, 0.055);
}
.vp-doc .slm-rule--optional {
border-left-color: #64748b;
}
.vp-doc .slm-rule:target {
outline: 3px solid var(--vp-c-brand-soft);
outline-offset: 3px;
}
@media (max-width: 640px) {
.draft-banner {
justify-content: flex-start;
padding-inline: 12px;
font-size: 10px;
letter-spacing: 0.02em;
}
.VPHero .tagline {
font-size: 16px;
}
.vp-doc .slm-rule {
margin-inline: -8px;
padding: 13px 14px;
}
.vp-doc .slm-rule__permalink {
opacity: 1;
}
}