No description
- Svelte 38.4%
- Astro 27.9%
- CSS 20.6%
- TypeScript 6.3%
- JavaScript 5.2%
- Other 1.6%
Leggent — лендинг
Astro + Svelte + чистый CSS. Подробное ТЗ — в SPEC.org.
Стек
- Astro 4 (SSG, островная архитектура)
- Svelte 4 для интерактива (
client:visible) - TypeScript (strict)
- Чистый CSS — никаких CSS-фреймворков
- Структура HTML — декларативные веб-компоненты (
<l-*>custom elements)
Запуск
Менеджер пакетов — pnpm.
pnpm install
pnpm dev # http://localhost:4321
pnpm build
node dist/server/entry.mjs # запуск Node-сервера после build
Переменные окружения
Скопируйте .env.example в .env и заполните SMTP для лид-формы.
Без них endpoint /api/lead работает в dev-режиме (логирует и
возвращает { ok: true, dev: true }).
Структура
src/
├── styles/ # tokens / reset / elements / components / global
├── layouts/ # BaseLayout.astro
├── components/
│ ├── layout/ # Header, Footer
│ ├── sections/ # Hero, Problem, HowItWorks, Features, ...
│ ├── ui/ # Icon (inline SVG)
│ └── islands/ # Svelte: ChatDemo, LeadForm, PricingToggle
├── data/ # JSON-контент (features, faq, pricing, useCases)
└── pages/
├── index.astro
├── privacy.astro
├── terms.astro
└── api/lead.ts # POST endpoint для формы
Принципы стилизации
- Никакого Tailwind / Bootstrap.
- Classless: стилизуем теги напрямую (
h1,p,button,details/summary...). - Модификаторы — через атрибуты (
data-variant,data-size,aria-pressed). - Структурные обёртки — кастомные теги (
<l-section>,<l-container>,<l-stack>,<l-grid>,<l-card>,<l-feature>, ...). - CSS-переменные в
tokens.css, всё остальное — нативный CSS с логическими свойствами,clamp(), container queries.
Деплой
Хостинг — Akash Network (контейнеры). Подробно — в
akash/README.md.
Локальная проверка прод-образа:
docker compose up --build
Следующие шаги
См. SPEC.org и каталог tasks/.