• Мы приветствуем всех в сообществе Sass, кроме тех, кто недоброжелателен по отношению к членам сообщества. Пожалуйста, прочитайте и следуйте принципам сообщества.

    Только приступаете? Есть несколько хороших руководств, которые помогут «встать на ноги». Хотите больше? Есть несколько хороших блогов о Sass(в том числе и несколько статей, которые мы рекомендуем прочитать), и даже несколько книг о Sass, которые помогут Вам изучить много нового и полезного.

  • Сообщество Sass невероятно. Существует ряд фреймворков, которые делают использование Sass простым. Хотите попробовать Sass на Node, Python или другом языке или фреймворке? Посетите оболочки libSass.

    Думаете сделать вклад в развитие Sass? Мы принимаем во внимание любые факторы и идеи для того, чтобы оставаться постоянно стабильными. Не бойтесь вносить правки через пулреквесты в репозиторий Sass.

    Хотите создать свою реализацию Sass? Подробности на странице руководство по внедрению.


Статьи о Sass

Вклад в развитие

Sass — проект с открытым исходным кодом и мы призываем Вас внести свой вклад. Вы можете внести свою лепту с помощью сообщений об ошибках и пожеланий, ну а если у Вас есть реальное решение, которое может нам всем помочь, то Вы останетесь в наших сердцах навсегда. Если вы хотите нам помочь, но не знаете как, то тег Help Wanted в трекере ошибок поможет вам увидеть задачи, по которым требуется помощь. Под этим тегом вы найдете множество запросов на добавление новых возможностей, багов и других задач, которые не требуют интенсивной разработки, и по мнению разработчиков такие задачи - хорошее место для новых участников разработки.

Для написания кода мы используем две основные ветки. Stable - ветка по умолчанию, здесь мы ведем разработку над уже выпещенной версией Sass. Правка багов в реализованой функциональности, обновление документации и общие глобальные задачи - все это происходит в ветке stable. Master - ветка, где мы работаем над следуещей версией Sass. Все новые возможности должны быть отправлены в ветку master.

Кодовая база Sass очень большая, что может напугать при навигации по ней и усложнить понимание лучших путей развития. Если вам нужна помощь, то вы можете создать новую запись в системе приема обращений Sass и разработчики Sass будут рады помочь вам, даже если у вас небольшой опыт с Ruby или с программированием в общем. Они могут ответить на вопросы о том, как работает система, предлагать вам пути решения проблем, а также проверить ваш код, если вы предлагаете свое решение.

Независимо от того, добавляете ли вы новую возможность или исправляете баг, если это меняет общедоступное поведение, то очень важно для изменения создать автоматизированный тест. Все тесты находятся в папке test/sass; найдите наиболее подходящий файл с тестами для ваших изменений и добавьте туда свой тест или тесты. Вы должны быть уверены, что тесты покрыващие функциональности должны учитывать все варианты исхода событий в них и даже те, которые могут быть неверными.

После того, как вы написали патч с тестами, пришлите нам его через pull request. Наш разработчик изучит его, при необходимости задаст вопросы или предложит лучшие варианты. После всех утверждений ваш патч будет применен.

Добавление синтаксиса

Самые большие и наиболее впечатляющие возможности Sass обычно позволяют добавлять в себя новый синтаксис. Это может быть очень круто: что-то что раньше при работе выдавало ошибку может начать работать правильно, потому что вы сделали это. Однако, изменение синтаксиса это еще и большой объем работы. Для добавления нового синтаксиса на уровне @-правила вам понадобится:

  • Добавить ноду(узел) синтаксиса в дерево абстрактного синтаксиса в lib/sass/tree.

  • Парсить синтаксис SCSS в ноды(узлы). Парсер SCSS находится в lib/sass/scss/parser.rb.

  • Парсить синтаксис Sass в ноды(узлы). Парсер Sass находится в lib/sass/engine.rb.

  • Добавить поддержку настроек компиляции в ноду в lib/sass/tree/visitors/set_options.rb.

  • Добавить поддержку клонирования ноды в lib/sass/tree/visitors/deep_copy.rb.

  • Если синтаксис изменения это простой CSS, то добавить поддержку компиляции в CSS в lib/sass/tree/visitors/to_css.rb. Если это изменение для Sass и оно не является частью CSS, то нужно описать поведение во время работы в lib/sass/tree/visitors/perform.rb или lib/sass/tree/visitors/cssize.rb.

  • Добавить поддержку обратной конвертации синтаксиса в SCSS и Sass для команды sass-convert в lib/sass/tree/visitors/convert.rb. Это тоже необходимо покрыть тестом!

Руководства

Блоги о Sass

Книги о Sass

Проекты и фреймворки

  • libSass — a CSS (and Sass!) authoring framework
  • Compass — a CSS (and Sass!) authoring framework
  • Susy — a responsive grid layout built for Compass
  • Bourbon — a lightweight mixin library
  • Neat — a mixin-based grid layout system
  • Sache — a place to find Sass and Compass extensions
  • SassMeister — a tool for trying Sass in the browser
  • Zurb Foundation — a responsive front-end framework
  • Rock Hammer — a starting framework with some basic styles for a project
  • Bootstrap — the ubiquitous framework… this time written in Sass!
  • Gravity — a framework for making HTML5 websites with Sass
  • Inuit.css — a powerful, scalable, Sass-based, BEM, OOCSS framework
  • Flexible Grid System — power of limitless
  • SassDoc — A documentation tool for Sass
  • SomeGrids — Simple, Awesome & Fast Sass grids with different display types