Колофон: как устроен этот сайт
Этот сайт намеренно маленький. Он собирается статически — без сервера, без базы данных, без клиентского фреймворка — и всё, что на нём есть, берётся из нескольких файлов репозитория.
Стек
- Astro собирает страницы в обычный HTML во время деплоя. В браузер попадает только переключатель темы, переключатель языка и кнопка печати.
- Tailwind CSS отвечает за стили, но каждый цвет берётся из небольшого набора CSS-переменных, поэтому светлая и тёмная темы всегда согласованы.
- IBM Plex Serif, Sans и Mono лежат на своём хостинге и урезаны до латиницы и кириллицы. Ни одного запроса к шрифтовому CDN.
Контент
Текст хранится в JSON-файлах — профиль, опыт, проекты, сертификаты, навыки — и каждое поле содержит английскую, узбекскую и русскую версию. Страница резюме /cv/ собирается из тех же файлов, что и главная, поэтому они не могут разойтись.
Заметки вроде этой — просто Markdown-файлы с небольшим frontmatter. Чтобы добавить новую, нужен один файл и один коммит.
Почему именно так
Три языка, портрет, таймлайн, шесть репозиториев и способ связаться. Всё, что быстро устаревает — число подписчиков, число звёзд, шкалы навыков в процентах, — сознательно оставлено за бортом.