Як зроблено цей сайт.
Стек, дизайнерські рішення і робочий процес цього портфоліо, яке саме по собі є окремим проєктом.
Архітектура
Кожна сторінка рендериться в статичний HTML під час збірки сайту. Невеликий проксі зіставляє кожну адресу з мовою, а решту віддає CDN.
Дизайн
Одна гарнітура, Geist, і Geist Mono для дрібних даних. Один акцент — помаранчевий, і він рідкісний: підкреслення посилання, активний стан, точка статусу.
Кожен колір — це токен. Ті самі компоненти отримують світлу й темну теми лише завдяки заміні токенів, тож нічого не стилізується двічі. Перемкніть тему, щоб побачити, як змінюються зразки нижче.
Компоненти мають структуру shadcn на примітивах Base UI, але вигляд їм задає власний CSS сайту. Коли примітиви змінилися, дизайн лишився тим самим піксель у піксель.
- Фон
--bg - Поверхня
--card-2 - Текст
--fg - Приглушений текст
--fg-dim - Лінія
--line-strong - Акцент
--accent
Якість
Чому такий стек
Я почав це портфоліо на Astro — очевидний вибір для статичного сайту. Потім перейшов на Next.js, щоб воно відповідало моєму власному архітектурному гайду для Next.js, за яким я роблю справжні продукти.
Сайту потрібні лише правила гайду щодо дизайн-системи та структури, тож важчі частини, як-от автентифікація і завантаження даних, лишилися поза ним. Лишилося те, за чим оцінюють фронтенд-інженера: компоненти, токени й деталі.