Лендинг OctaSpace — децентрализованной GPU-облачной платформы для AI, рендеринга и cloud-вычислений. Построен на базе шаблона Launch UI.
- Next.js
^15.4.3(App Router, статический экспортoutput: 'export') - React
19.1.1/ React DOM19.1.1 - TypeScript
^5 - Tailwind CSS
^4.0.12(конфигурация через CSS@theme, безtailwind.config.ts) - Radix UI — accordion, avatar, dialog, dropdown, navigation-menu, select, switch, tabs, tooltip и др.
- shadcn/ui (стиль
new-york, базаzinc) - motion (Framer Motion) — анимации
- embla-carousel-react — карусели
- next-themes — переключение темы (в проекте принудительно включена тёмная тема)
- lucide-react — иконки
- next-sitemap — генерация
sitemap.xmlиrobots.txt
- Node.js 20+
- npm
git clone <repo-url>
cd website
npm installnpm run devПриложение будет доступно на http://localhost:3000. Дев-сервер запускается с --turbopack.
npm run buildСобирает статический экспорт сайта в директорию ./out и автоматически генерирует sitemap.xml/robots.txt (postbuild → next-sitemap).
Проект собирается как статический экспорт (output: 'export' в next.config.mjs), поэтому npm run start (next start) не работает — он рассчитан на серверный билд Next.js, а тут его нет. Чтобы посмотреть именно то, что задеплоится на GitHub Pages, нужно поднять папку ./out как обычную статику:
npm run build
npx serve outили
cd out && python3 -m http.server 8000Это точнее отражает продакшен, чем npm run dev — например, покажет проблемы с относительными путями или серверными фичами, которые в статическом экспорте недоступны.
npm run lintapp/ # Страницы (App Router): главная, privacy и т.д.
components/
sections/ # Секции лендинга по категориям (hero, feature, pricing, navbar, footer, ...),
# внутри каждой — несколько взаимозаменяемых вариантов оформления
ui/ # Переиспользуемые примитивы (Section, Mockup, Navbar, PricingColumn и др.)
illustrations/ # Декоративные SVG-иллюстрации
logos/ # Логотипы (бренды, соцсети)
config/site.ts # Общие метаданные сайта (название, URL, соцссылки)
lib/ # Утилиты, включая получение live-данных сети OctaSpace
styles/ # Глобальные стили и тема (CSS custom properties, OKLCH-палитры)
public/ # Статические ассеты (изображения, видео, favicon)
Сайт собирается как статический экспорт и публикуется на GitHub Pages через workflow .github/workflows/gh-pages.yml при пуше тега вида v*.