Сайт обновился: комиксы, Tailwind CSS v3 и грабли на пути к брутализму
Сайт получил серьёзное обновление: переработанный дизайн на Tailwind CSS, улучшенная производительность и новые фишки. Рассказываю, что изменилось под капотом и как это работает.
Друзья, сайт обновился! Если вы читаете это, значит, всё работает (надеюсь). Давайте расскажу, что именно изменилось и почему это важно не только визуально, но и технически.
🎨 Что нового? Дизайн в стиле комиксов
Сайт теперь выглядит как страница из старого доброго комикса:
- Жирные чёрные обводки (
.brutal-border) — никаких полумер, только 4px solid black. - Жёсткие тени без размытия (
.brutal-shadow) — тень либо есть, либо её нет. Никакихblur. - Акцентный шрифт Comic_CAT для заголовков — потому что технологии должны быть веселыми. Отдельная благодарность Виталию Лазаренко (fonts.uprock.ru ) за этот замечательный шрифт!
- Эффект полутонов (halftone) на фоне через CSS-градиенты — классическая полиграфическая техника, реализованная кодом.
Всё это сделано на базе Tailwind CSS v3, который позволяет быстро собирать такие интерфейсы, не превращая CSS-файл в свалку из тысяч строк кастомных стилей.
⚡ Производительность: быстро даже на домашнем сервере
- Чистый CSS: Tailwind генерирует только те классы, которые реально используются в HTML. Никакого мёртвого кода.
- Мгновенная сборка: Hugo собирает весь сайт за ~200мс.
- Умные изображения: Ленивая загрузка (
loading="lazy") + современные форматы WebP и AVIF. - Размер страницы: Главная весит всего ~15KB (без картинок).
🛠 Грабли, на которые я наступил (и вы тоже можете)
Конечно, без приключений не обошлось. Переход на новый стек дался непросто:
- Правильная конфигурация
tailwind.config.js. В третьей версии всё управление сканированием файлов лежит в конфиге. Если забыть добавить путь к JS-файлам или партиалам, классы просто исчезнут из итоговой сборки. Пришлось повозиться с масками путей. - CDN vs локальная сборка. Поначалу подключал Tailwind через CDN «для скорости», но это дублировало локальный CSS, создавало конфликты стилей и замедляло First Contentful Paint. Теперь всё собирается локально через Hugo Pipes + PostCSS. Никаких лишних запросов.
- Структура шаблонов. Убрав CDN, столкнулся с тем, что браузер переставал видеть стили до полной загрузки файла. Решение — правильная настройка
resources.Getсminifyиfingerprintпрямо вbaseof.html, чтобы Hugo отдавал уже оптимизированный и закэшированный CSS.
🔮 Что дальше?
Планы на будущее уже есть:
- Тёмная тема — для тех, кто любит читать ночью (или работает в серверной без окон).
- RSS-лента — чтобы подписаться на обновления без соцсетей.
- Комментарии — возможно, через самописную систему на XMPP (у меня же свой Prosody-сервер, грех не использовать).
- Автоматическая оптимизация изображений — конвертация в WebP/AVIF прямо при сборке Hugo.
Спасибо, что читаете!
Если нашли баг или есть предложение — пишите в контактах . А если сайт понравился — поделитесь с друзьями (кнопки есть в конце каждой статьи).
🤓 Технические детали для гиков:
| Параметр | Значение |
|---|---|
| Время генерации сайта | ~200мс |
| Размер главной страницы | ~15KB (без медиа) |
| Используемых Tailwind-классов | ~150 (из ~5000 возможных) |
| Потребление сервера в простое | 4–6 Вт |
| ОС сервера | Alpine Linux (diskless) |
| Сборщик | Hugo + Tailwind CSS v3 |
ТЕГИ: