Ярослав, Да.
храню шаблоны + js + css (less) в отдельном проекте, который подтягивает composer.
Вообще на подобную организацию работы вывело несколько моментов:
-
Atomic design (Понравился мне этот концепт)
- вопрос: "Как другому человеку дать работу по верстке при этом не заставляя его разворачивать проект"
В итоге я вышел на следующую организацию работы. Мой текущий проект, правда он не на Symfony, но это не суть.
Отдельный репозиторий для CMS и отдельный для верстки. Сейчас о нем.
Структура следующая:
- twig - шаблоны на твиг
- less - мои стили
- js - мои скрипты
- assets - доп ресурсы которые негде взять
Порядок работы:
-
bower подтягивает необходимые зависимости
- Пишу какой-нибудь компонент страницы (кнопочку красивую, шапку, форму и т. д. ) - имеется ввиду и шаблон и стили
- Добавляю это хозяйство в style guide (сделано по примеру
hologram)
Но style guide не генерируется, я все добавляю ручками, допустим так:
Код:
{% set news_fake = { 'title': faker.realtext, 'text': faker.realtext } %}
{% include 'organism/news-header.html.twig' with { 'news': news_fake } only%}
faker - очень удобная библиотека для прототипа, сама вставляет левые тексты
- далее самопальной утилитой делаю рендер style guide и смотрю это все хозяйство в браузере.
- когда я сверстал целиком страницу, с помощь
grunt, собираю все необходимые ресурсы ( объединяю, сжимаю, насилую)
- все собранные ресурсы + генерированные html страницы отправляются на сервер
- все страницы прогоняются через какой-нибудь
сервис по кроссбраузерности (хз как по русски это обозвать)
- profit.
Ну а далее просто заставляем cms есть twig