Нам нужны твои мозги

Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.

На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решение.

Помощь запрашивалАндрей СитникАндрей Ситник Андрей Ситник

ПомогСтанислав БотевСтанислав Ботев Станислав Ботев

Фронт: Добавить правило про reduced-motion в Stylelint

Для новичков, задача на неделю

Некоторым пользователям не нравится, когда на странице много анимаций. В Safari есть специальное медиа-выражение @media (prefers-reduced-motion) { }. Если пользователь не хочет анимаций, Safari будет его применять.

Но большинство фронтенд-разработчиков про него забывают. Эту проблему может решить новое правило для Stylelint.

Польза: указать в резюме коммит в известный проект.

  1. Форкнуть Stylelint.
  2. Прочитать, как писать правила для Stylelint.
  3. Прочитать про prefers-reduced-motion.
  4. Добавить новое правило, которое ищет все селекторы с transition или animation и проверяет, что такой же селектор есть внутри @media (prefers-reduced-motion) { }.
  5. Добавить тесты, документацию и все остальное согласно правилам Stylelint.
  6. Создать pull request. Внимательно заполнить их шаблон. Не указывать предыдущий issue, раз они обиделись на автора идеи. Расписать по каждому пункту из критериев, почему правило нужно включить в ядро.