Python-биндинги для libsass. Эксклюзивно для Хабра

    В топике SASS против LESS хабраюзер morr упомянул интересный libsass — реализацию SASS на C++
    На минувшем Railsconf 2012 был отдельный доклад про sass, где анонсировали фичи над которыми сейчас ведётся работа, и которые появятся в следующем релизе:
    1. libsass — написанный на C компилятор sass в css, работающий быстрее на порядки нынешнего скрипта на руби. Для крупных проектов это очень существенно — большие объёмы стилей при деплое компилируются ну очень долго(полминуты и дольше). Так же это позволит написать биндинги для libsass к другим языкам, что означает более простое встраивание sass во фрейморки питона/ноды/дотнета/пхп.



    А я взял и сделал для libsass биндинги для Python. Встречайте, любите и пользуйтесь python-sass

    Share post

    Similar posts

    Comments 28

      +1
      супер! спасибо. сейчас использую less, теперь есть возможность попробовать sass в python проектах.
        0
          0
          у меня поддержка compile_file есть
            0
            но вообще pysass тоже хорош
              +1
              Да просто я был удивлен, что такого еще нету, поискал и нашел. ИМХО считаю, что при представлении своей библиотеки стоит писать альтернативы и похожие вещи.
                0
                Хорошо ищите. Я перед тем как начать искал и не нашёл.
                  0
                  ищите = ищете
            0
            libsass — реализацию SASS на C

            libsaas написан на С++
            0
            Отличная новость! Мы всё никак не могли подступиться к SASS/SCSS в наших Django-проектах. Вот бы вы ещё привязку к django-staticfiles написали для полного счастья…
              0
              Вам как мёд так и ложкой :) Напишите сами и выложите.

              Да и, к тому-же, мы Django не используем, а когда и используем — используем webassets
                0
                >>привязку к django-staticfiles
                Так в нем же нет поддержки препроцессинга никакой, какие тут биндинги?
                  0
                  Нам как-раз и нужен пре-процессинг. Поддержку теоритически можно реализовать. Например:

                  — мы переопределяем команду manage.py collectstatic (или делаем новую, не важно)
                  — при копировании статики детектим SCSS
                  — создаём из SCSS обычные CSS-файлы
                  — и их уже копируем вместе со всей остальной статикой
                  — в Django-темпплейтах нужно будет подключать их через специальный тэг (или придумать какую-то договорённость)
                  — плюс нужно решить проблему с dev-окружением, когда мы не collect'им статику, а «берём» её непосредственно из django_app/static/
                    0
                    ЕМНИП, все это уже реализовано в упомянутых webassets, еще и с всевозможной расширяемостью.
                      0
                      Надо глянуть на webassets, судя по всему клёвая штука!
                –1
                Почему биндинги-то? Грамматический нацист во мне негодуе. :)
                  +2
                  это смотря чего в вас больше, программиста или филолога. Как по мне биндинги они и в африке биндинги :)
                    0
                    Т.е. по вашей логике, если человеку режет ухо корявое произношение английского bind, то он не тру программист? :)
                      +2
                      > не тру программист
                      вы специально? :)
                  +1
                  Выложите ваш пакет ещё сюда — pypi.python.org
                    0
                    на правах рекламы — в текущем проекте остановились на github.com/Kronuz/pyScss. из плюсов — очень приятная расширяемость и «допиливаемость напильником», а также более-менее приемлемая скорость по сравнению с другими питон-реализациями (о ruby-реализации я вообще молчу).

                    спасибо за ваш проект, на недельке попробую. Единственное, что вызывает некие сомнения — есть ли какой-то задел для расширяемости (кастом функции, например)?
                      0
                      А какие вам нужны кастом функции кроме тех что уже реализованы в pyScss?
                      А вообще в libsass есть возможность создания кастом функций на языке с которым работаете, апи это позволяет.
                        0
                        из того, что сходу могу вспомнить — свой спрайтгенератор, rgb2hex (из коробки, к сожалению, нету), своя сетка размеров… ничего критичного, но много полезного в общем )

                          0
                          у нас он падал на некоторых CSS, которые официальный (тот который на Ruby) спокойно парсил. А как с этим дела у libsass мы проверить ещё не успели.
                        0
                        У кого нибудь есть бинарники libsass под win32?
                          –2
                          Странно, что не написали на node, как в случае в Less. Ведь тогда особого смысла в написании libsass не было бы.
                            0
                            А расскажите пожалуйста, в чем смысл этой штуки?
                              +1
                              а я сделал для .Net: habrahabr.ru/post/147567/

                              Only users with full accounts can post comments. Log in, please.