Sass або Compass без рубіну?


102

Чи є спосіб використовувати Sass або Compass чи щось подібне без Ruby?

Я розглядав google і цей сайт, і нічого не можу знайти, будь-яка допомога буде вдячна. Дякую



3
Це справжнє запитання? Я маю на увазі незрозуміло, що ти маєш на увазі. Чи є інші попередні процесори CSS, які не покладаються на Ruby? Так. Чи є спосіб скласти Sass без Ruby? Залежить. Нам потрібно більше фону.
Джамунд Фергюсон

Але ви не вказуєте, якою мовою ви б хотіли писати парсер.
Алехандро Гарсія Іглесіас

1
Чи існує спосіб завантаження попередньо складеної версії?
Вільям

Відповіді:


53

Спочатку Sass був написаний для Ruby, але тепер вони створили libSass, який є C/C++портом двигуна Sass, що полегшує інтеграцію двигуна в IDE або іншу мову. У цей момент ви можете використовувати двигун Sass в Ruby, Node.js , Python , PHP , Java , .NET та інших. Для отримання додаткової інформації відвідайте libSass . Крім того, у вашому IDE може бути плагін, який би підтримував Sass, без необхідності рубіну, використовуючи libSass.

Оригінальна відповідь, подана нижче, може або не стосується вашої ситуації (залежить від того, чи підтримувала ваша мова підтримку libSass чи ні). Я вирішив залишити його таким, яким він є з архівних причин.


Sass (вимагає Ruby)

Sass написано на Ruby, тому вам також знадобиться встановити Ruby. Взяті з сайту sass

Компас (потрібен Ruby, оскільки він заснований на SASS)

Compass - це програма з відкритим кодом для створення авторизації CSS, яка використовує мову таблиць стилів Sass, щоб зробити таблиці стилів написання потужними та простими. Взяті з сайту компаса

Менше (написано в js, потрібні node.js або less.js, включені на сторінку)

Менше розширює CSS з динамічною поведінкою, такою як змінні, комбінації, операції та функції. LESS працює як на стороні клієнта (Chrome, Safari, Firefox), так і на сервері, з Node.js та Rhino. Взяті з сайту Лесс

Це основні процесори там, про які я знаю. Ви можете написати власний парсер / порт для будь-якої іншої мови на вибір.

Іншими словами, ні, ви не можете використовувати sass / compass, не маючи Ruby, оскільки сама програма (sass & compass) написана в Ruby. Тож вам обов'язково знадобиться для того, щоб запустити його.


Це технічно точно, але не дуже важливо, оскільки різні плагіни можуть подбати про це за вас. Наприклад, у Visual Studio є плагін Mindscape Workbench, який містить автономне середовище для рубіну, про яке вам не доведеться турбуватися. Він не буде включати компас для вас, однак це свого роду придушення.
Джордж Мауер


Ні, я не намагався знайти подібні компілятори іншими мовами. Ви маєте змогу написати компіляцію з нуля майже будь-якою гідною мовою, але це, швидше за все, займе у вас багато часу. Спочатку вам доведеться мати змогу проаналізувати css (та виявити будь-які помилки в синтаксисі css), а потім вам доведеться "компілювати" (що переважно переформатує - тобто код css - це один рядок) css. Після цього ви, швидше за все, захочете додати кілька css із спадщиною. Якщо ви відчуваєте, що у вас є час, можете спробувати це зробити і поділитися результатом з нами :)
tftd

1
Менше можливе також і в .NET, використовуючи пакет dotLESS NuGet.
Девід Бойке

27

Це правда, що питання недостатньо чітке, але я спробую вирішити деякі проблеми. Є й інші попередні процесори CSS, які не покладаються на Ruby (два, які мені зараз приходять в голову, - Менше , які я використовував і любив, але не такі потужні, як Sass, і Stylus , які я не використовував, обидва засновані на JavaScript), але оскільки ви конкретно запитуєте про Sass + Compass, і оскільки я все ще шукаю ту саму відповідь, я поговорю про це.

@JamundFerguson сказав:

Чи є спосіб скласти Sass без Ruby? Залежить.

є

Sass - мова попередньої обробки. Для цього в Ruby створений компілятор, і кожен може написати компілятор будь-якою мовою. Існує C-реалізація компілятора Sass під назвою libsass, який можна використовувати на будь-якій мові, що дозволяє імпортувати C libsass. Це бібліотека, що використовується node-sass , це компілятор, вбудований в Node.js , який я ще не пробував і не знаю, як це може працювати і чи готовий він для виробництва. Може виникнути питання про час перенесення Compass (можливо, ви в кінцевому підсумку це зробите?), І тому ми можемо мати компілятор, який не залежить від дорогоцінного каміння Ruby (на даний момент існує модуль компаса вузла , на який покладається самоцвіт Рубі).

Інші мови

Поки що я згадав про можливість компілятора Node.js, який, як ви можете знати, це середовище JavaScript, що є мовою Інтернету та моєю мовою на вибір. Але ви не вказали, якою мовою хочете записати компілятор. Я думаю, що можуть бути компілятори, побудовані на багатьох мовах, наприклад, @EricMeyer згадав компілятор Python . Можливо, він використовує pyScss ? Схоже, вбудована підтримка Compass. Але тоді вам потрібно середовище Python. Отже, річ полягає в тому, що для компілятора вам знадобиться певне середовище, якщо ви не запустите нативно скомпільовані бінарні файли. (Менше має less.js, який можна включити на сторінку для запуску на стороні клієнта та уникнення кроку компіляції, але він не призначений для використання на виробництві.)

Рідні програми

Я працював рік із CodeKit, що дуже добре, компілює мови Sass / Compass, Less, Stylus та шаблони, такі як Haml, Slim, Jade тощо. Відновлює ваші активи, коли вони автоматично змінюються, і ви побачите змінені в браузері негайно. Єдине, що мені не сподобалось, це те, що під час переходу на інший комп'ютер, встановлення CodeKit, перевірка проекту та спроба його використовувати, мені довелося переналаштувати параметри проекту, які я повинен був запам'ятати, щоб я міг дійти до складання як той, який я зробив на іншому комп’ютері. Також я почав працювати з командою, і їм також довелося конфігурувати проект з тими самими налаштуваннями (іноді, якщо однакові конфігурації проекту не призводять до неприємних невідповідностей), а також члени команди, що використовує Ubuntu, не могли його використовувати. Ценегайно, і закохався в це. Як згадував @Dave, є скаут, а також є LiveReload , але вони не використовували їх.

Висновок

Висновок - у мене немає сильного висновку. Я все ще шукаю ту саму відповідь, але сподіваюся, що ця відповідь проливає трохи світла на стан збирання Sass / Compass поза середовищем Ruby.


1
Для стану libsass: solitr.com/blog/2014/01/state-of-libsass , від якого залежать node-sass та інші бібліотеки sass .
Ehtesh Choudhury

27

Насправді є бібліотека, яка забезпечує прив’язку Node.js до libsass, версія C на S: https://npmjs.org/package/node-sass

Це дозволяє вам власне компілювати .scss файли в CSS з неймовірною швидкістю без встановлення Ruby.

Щоб встановити, просто запустіть:

npm install node-sass

А також є розширення Grunt за потреби: https://github.com/sindresorhus/grunt-sass (це те, що я шукав у цьому питанні)

Дізнайтеся більше на сайті: https://github.com/andrew/node-sass


1
grunt-sass - це те, що я шукав.
9ilsdx 9rvj 0lo

11

Трохи оновлення щодо цього, ви можете використовувати SCSS / SASS файли та генерувати правильні файли на льоту, не встановлюючи Ruby, використовуючи програму під назвою Scout.

Розвідник має власне рубінове середовище і кодується в Java, тому перед використанням переконайтеся, що ви є актуальними. Тут Linky.

З повагою :)


8
Я вважаю за краще рубін над Java;)
базар

Насправді на даний момент, коли я пишу цей скаут, використовується Adobe Air. Можливо, стара версія використовувала Java?
іконоборство

3
все-таки рубін краще, ніж Air :)
x0x



2

Adobe Brackets (безкоштовний, з відкритим кодом) може компілювати LESS, SASS та Stylus, коли файли змінюються та оновлювати стилі під час попереднього перегляду, вам просто потрібно встановити необхідні розширення з менеджера розширень. Отримайте брекети і насолоджуйтесь!

Редагувати: Як і інші запитання, пропонується, що node-sass також є хорошим варіантом, якщо у вас уже встановлені nodejs

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.