Добрый вечер.
Ищем Frontend разработчиков для работы над проектами, можно удаленно по-проектно или в офис в Москве на ЗП.
Работа над разными интересными проектами с постоянной загрузкой.
Обязательные Требования:
Опыт работы с Vue.js + Nuxt.js
Работа строго Pug + Stylus
Опыт работы в команде с системами контроля версий (git)
Кроссбраузерность и адаптив
Макеты предоставляем в Figma
Бэк пишем на python(django), данные отдаем на фронт с помощью Django Rest api
Тех.процесс поставлен. Есть помощь тех. дира.
Особенности:
Стили заполняются строго в формате Stylus. Исключением является подключение чистого css-файла стороннего модуля, через @import в корневом файле styles/indes.styl. Синтаксис stylus минимальный, без знаков :;{}.
Мы реализуем на практике модульный подход, из которого следует, что стили конкретной страницы или компоненты описываются в stylus файле данной компоненты в папке /styles. Файл стилей расположен по аналогичному пути, что и сама компонента внутри папки компонент (components) или страница внутри папки страниц (pages/).
Иконки требуется сохранять в формате svg. При отсутствии объективной возможности нужно сохранять иконки в формате png двойной плотности (если позволяет макет).
Пиктограммы из стандартных наборов иконок можно собрать с помощью fontello.com. После скачивания архива конфигурацию fontello config.json нужно сохранить в static/config/fontello/, шрифты иконок в styles/fonts, стили в style/icons.styl
Обращение к статике Указывать пути к статичным файлам проекта внутри .styl файла нужно в таком виде: background: url('~/static/icons/arrow.svg'). ~/ в начале позволяет webpack найти и упаковать искомый файл. Кавычки внутри url('...') обязательны, иначе stylus сгенерирует неочевидную ошибку!
Для указания пути к статике внутри pug-шаблонов, нужно указывать абсолютные пути к файлам, где /static - это корень. Пример выше будет выглядеть так:
Просьба не применять псевдоклассы (:before, :after, :nth-child) для элементов, которые:
а) интерактивно взаимодействуют с пользователем, например через клики;
б) имеют внутри изображения, так как потом приходится загружать изображения с сервера, а так как внутренности псевдокласса невозможно определить, то приходится переверстывать в обычные теги. Просьба избегать таких случаев.
Внешние компоненты Требуется обходиться без jQuery. Если есть необходимость написать скрипт, просьба попросить программиста. jQuery в большинстве случаев не нужен, так как в Vue можно описать гораздо нагляднее, проще, лаконичнее. По этой же причине, требуется отказаться от компонент, написанных на jQuery. Слайдеры в проекте должны быть реализованы исключительно через swiper, так как он не зависит от внешних библиотек и работает в ssr-режиме.