/css

Расширенные возможности стилизации средствами CSS.

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

TurboExtensions

Расширенные возможности стилизации средствами CSS.

Build Status

Прототипирование стилей

  1. Установить расширенение live editor for CSS (или любое другое с похожими возможностями);
  2. Зайти в браузере на турбо-страницу;
  3. Написать CSS для нужных компонентов.

DevServer

В качестве альтернативы можно использовать dev-server на базе node.js (8.x) & express.

Установка:

git clone https://github.com/turboext/css.git # или fork
cd css
yarn # или npm install
nvm use # если у вас установлен nvm
npm start
npm test # для локального запуска тестов

Использование:

  • открыть http://localhost:3000 и выбрать адрес вашей турбо-страницы, например: https://rozhdestvenskiy.ru/turbo/, или https://yandex.ru/turbo?text=https://rozhdestvenskiy.ru/;
  • внести изменения в hosts/*/style.css;
  • обновить страницу.

Ограничения

Ограничения указаны в конфиге stylelint:

  • нельзя использовать пользовательские шрифты;
  • нельзя использовать низкопроизводительную анимацию;
  • нельзя использовать селекторы по имени тэга;
  • нельзя использовать любые внешние ресурсы;
  • размер CSS в gzip ограничен 21KB.

На code review могут быть указаны дополнительные требования к коду.

Важно: список ограничений может меняться со временем.

Технические детали

  • CSS код будет обработан с помощью postcss. Настройки можно посмотреть в конфигурационном файле.
  • Минимальные версии поддерживаемых браузеров
    • android 4
    • iOS 9
    • IE 11
  • Векторные изображения предпочтительнее растровых. Размер всех изображений должен быть оптимизирован до приемлемого уровня качества.
    • Для оптимизации SVG рекомендуется использовать svgo со следующими опциями: svgo -p 2 --multipass --enable=removeDesc --enable=removeTitle --enable=sortAttrs --enable=removeViewBox --enable=removeStyleElement -i [PATH_TO_SVG].

Внесение изменений в стили

  1. Сделать fork репозитория;
  2. Создать директорию hosts/example.com;
  3. В директории должно быть несколько обязательных файлов — HOSTS.yaml, OWNERS.yaml, style.css.
    • HOSTS.yaml должен содержать список доменов для которых должны применяться текущие стили, например:
      - https://www.rozhdestvenskiy.ru
      - https://rozhdestvenskiy.ru
    Протокол (http, https) обязателен. Фактически, это адрес сайта из https://webmaster.yandex.ru webmaster
    • OWNERS.yaml должен содержать список логинов на https://github.com кому разрешено править стили для текущего домена, например:
    - sbmaxx
  4. Закоммитить изменения и создать PR в основной репозиторий. Желательно в тексте коммита указывать адрес сайта;
  5. В описании PR добавьте несколько ссылок на ваши турбо-страницы;
  6. Дождитесь создания автоматической беты. Ссылка на неё появится в описании PR через некоторое время после создания PR, проверьте на ней свои изменения;
  7. Дождаться прохождения линтеров;
  8. Дождаться прохождения ревью;
  9. Изменения будут доступы в течение часа после вливания PR в master ветку.

Внесение изменений в инфраструктурную часть

  1. Создать issue с описанием сути изменений;
  2. Сделать branch в формате issues/<номер_issue>;
  3. Закоммитить изменения и создать PR в основной репозиторий;
  4. Связать PR и issue (например, c помощью комментария).

Поддержка разработчиков

https://turbosupport.slack.com, доступ по приглашениям.