Этот сайт
Сайт, который вы читаете: Next.js, самодельная локализация и палитра ⌘K.
Что делает
Этот сайт — тот самый, на котором отображается эта страница. Главная страница, страницы проектов вроде этой, раздел с текстами и раздел «обо мне», на трёх языках, с командной палитрой на клавиатуре (⌘K) для перехода между разделами без мыши.
Как устроен
Next.js с app router, статическая генерация там, где это возможно. Локализация написана вручную, а не подключена из готовой библиотеки: контент лежит в файлах-словарях по языкам, а небольшой набор хелперов определяет текущую локаль по URL и подставляет язык по умолчанию, если перевода не нашлось. Стили на Tailwind, а немногочисленные переходы — затухание страниц, открытие командной палитры — сделаны на Framer Motion, а не только на CSS, в основном потому, что обработка прерывания и анимации выхода стоила лишней зависимости.
- Никакой CMS: контент — это TypeScript-файлы, их правят и ревьюят как код