Adamos: Вы просто не понимаете, как работает браузер, видимо. Без JS пользователь увидит страницу, сможет прочитать контент. Все, что в head - блокирует парсинг и вывод DOM. Поэтому туда кладут стили. Стили должны подгрузиться до отображения DOM.
ImPuuLsE: На самом деле я тоже немного озабочен этой проблемой, по идее это должен делать специализированный софт, вроде capistrano. Но я на dev-vps просто написал скриптик, который в зависимости от названия репозитория идет в нужную папочку и дергает git pull.
Единственное что я еще сделал - добавил в url параметр secret_key, и продублировал на сервере, чтобы урл просто так дернуть нельзя было.
Я не четко сформулировал вопрос. Макросы конечно нужны, есть случаи, когда без них не обойтись, но я не понимаю зачем на них пишут участки кода, когда можно обойтись простыми функциями