Наверняка те кто заглядывал в разметку сервисов гугла, замечали что название классов какие-то странные, некоторые решения по расположению элементов неочевидные и т.д.
Строится дерево+унификация объектов через автоматически генерируемые ID-шники:
Базовая сетка=>Цветовая палитра=>Набор блоков=>Массив данных для блоков (там же: роутер с URL-ами и методы запроса)=>Шаблонизатор. Итог: на вход - массив, на выходе - сайт.