В одном случаем username в группе www-data (nginx работает от пользователя www-data), в другом - nginx работает от username. Почему второй способ правильнее?
Мне (я не админ ни разу, играю с VPS больше для развития и развлечения) это видится просто переменой мест слагаемых :(
Мой сборщик имеет настройки - что куда собирать, минифицировать или нет и т.д.
Если говорить о моей команде, то у нас всё идет через git и условный проект работает примерно так:
1. Cоздаю репозиторий, или клонирую уже созданный (в этом случае там уже будут файлы битрикса). Сама папка bitrix в .gitignore! Веточка у меня будет mark-up.
2. С помощью yeoman разворачиваю структуру проекта, устанавливаю зависимости.
3. Верстаю, при этом в других ветках может уже вполне начаться работа других разработчиков. Можем и параллельно - страничка готова - запрогали. Правда я обычно делаю сразу все страницы, вернее не страницы - а блоки и расставляю их по страницам.
Шаблон сайта вынесе в папку local (из коробки он внутри bitrix) . Статика собирается в папку шаблона (assets), единственное что стили приходится собирать в файл styles.css вне папки assets. Всё что собирается - лежит в .gitignore.
HTML файлы лежат в отдельной папке в корне сайта, пути в них прописаны до папки local соответственно.
Когда настало время натягивать верстку, программист сливается с моей веткой (если делаем параллельно то сливаемся регулярно), так же ставит npm пакеты, открывается собравшуюся верстку и вперед.
js так же пишет в src и собирает, иногда за исключением каких-то отдельных компонентов где всё лежит в их папочках.
Когда возникает необходимость поправить что-то в шаблонах, я часто сам лезу в php файлы, исправляю шаблон сайта и (до или после) исправляю jade-файлы, чтобы верстка соответствовала тому что натянуто на битрикс. Это здорово помогает если спустя время нужно что-то серьёзно доверстать/переверстать и проще будет сделать это в верстке, чем в шаблонах (я люблю jade и когда приходится ковырять html, да ещё и с кусками php-кода - потом плохо сплю ночами).
Но это мы так договорились работать и всем удобно.
В Битриксе из коробки в папке каждого компонента лежат его php, css и js файлы. И он сам там что-то как-то склеивает и минифицирует. Компоненты - список новостей, хлебные крошки, форма поиска и т.д. Многие команды именно так и работают.
Такой подход конечно тоже можно как-то соединить с параллельной версткой, scss, gulp и т.д. Но это будет боль и унижение.
Собственно так же боль и унижение не использовать мощь препроцессоров и прочей радости при поддержке проекта).
Если я верстаю для другого заказчика - под битрикс, или не под битрикс - не важно. То:
- не минифицирую файлы, но причесываю (csscomb например)
- не объединяю файлы плагинов
- на всякий случай отдаю исходники, вдруг решат встать на путь истинный
Что касается особенностей верстки под битрикс, как говорится - нормально делай, нормально будет.
Главное z-index (в том числе у плагинов проверить, модальные окна и т.д.) не задирать выше 1000, иначе эрмитаж не видно.
howehohit
Спрайт 100*100px
Его ретина вариант 200*200px
background-size: 100px 100px
Это что касается размеров. Ретина-картинка делает вид что она в 2 раза меньше - как её неретина-собрат. По сути поставили её и забыли.
Теперь про background-position.
Представьте себе бумажку, на которой нарисованы иконки.
И другую бумажку, в которой вырезано дырочка.
Мы двигаем нижнюю бумажку, чтобы в дырочке оказалась нужная нам иконка.
Width и height блока, на фон которого мы ставим иконку из спрайта - это размеры этой самой дырочки.