Почему не макеты
Обычный путь — нарисовать главную и карточку, выбрать по картинке, а потом обнаружить, что на странице поиска или на пустой категории решение разваливается. Поэтому собирался весь набор страниц целиком: категории, теги, поиск с результатами, 404 и правовые страницы — то, что обычно откладывают и на чём потом ломается красивый макет.
Как устроено
- Три слоя: каркас страницы, типы страниц, самостоятельные варианты галерей. Данные вынесены отдельно.
- Добавление темы не трогает разметку, добавление типа страницы не трогает темы.
- Ни одного внешнего пакета: сборка и просмотр без установки зависимостей.
- Разметка для поисковых систем на уровне шаблонизатора, а не дописанная по месту.
- Мобайл-фёрст с проверкой на настоящих 360 пикселях, а не на уменьшенном десктопе.
Спорное решение, которое себя оправдало
Варианты галерей сделаны самодостаточными — стили и скрипты внутри каждого. Формально это дублирование кода. Но именно оно позволяет забрать понравившийся вариант в другой проект целиком, не разбирая зависимости от общей таблицы стилей. Для набора, из которого выбирают, автономность блоков дороже, чем отсутствие повторов.
Результат
Четыре полных варианта сайта вместо четырёх картинок: выбор делается на живых страницах, включая поиск и пустые состояния. Пересборка любого варианта — одна команда, без установки зависимостей.
Срок: один рабочий вечер. Собственный проект.