Sass atau Kompas tanpa ruby?

102

Apakah ada cara untuk menggunakan Sass atau Compass atau semacamnya tanpa Ruby?

Saya telah melihat-lihat google dan situs ini dan tidak dapat menemukan apa pun, bantuan apa pun akan sangat kami hargai. Terima kasih

Troy Cosentino
sumber
3
Apakah ini pertanyaan nyata? Maksud saya, tidak jelas apa yang Anda maksud. Apakah ada praprosesor CSS lain yang tidak bergantung pada Ruby? Iya. Apakah ada cara untuk mengkompilasi Sass tanpa Ruby? Tergantung. Kami membutuhkan lebih banyak latar belakang.
Jamund Ferguson
Tetapi Anda tidak menentukan bahasa yang Anda inginkan untuk menulis parser.
Alejandro García Iglesias
1
Apakah ada cara untuk mengunduh versi yang telah dikompilasi sebelumnya?
William

Jawaban:

53

Sass awalnya ditulis untuk Ruby, tetapi sekarang mereka telah membuat libSass yang merupakan C/C++port dari mesin Sass, yang membuatnya lebih mudah untuk mengintegrasikan mesin ke dalam IDE atau bahasa lain. Pada titik ini, Anda dapat menggunakan mesin Sass di Ruby, Node.js , Python , PHP , Java , .NET , dan lainnya. Untuk informasi lebih lanjut, kunjungi libSass . Selain itu, IDE Anda mungkin memiliki plugin yang akan mendukung Sass, tanpa perlu ruby ​​dengan menggunakan libSass.

Jawaban asli di bawah ini mungkin atau mungkin tidak berlaku untuk situasi Anda (tergantung pada apakah bahasa Anda telah menerapkan dukungan untuk libSass atau tidak). Saya memutuskan untuk membiarkannya seperti itu karena alasan arsip.


Sass (membutuhkan Ruby)

Sass ditulis dalam Ruby, jadi Anda perlu menginstal Ruby juga. Diambil dari situs sass

Kompas (membutuhkan Ruby, karena didasarkan pada SASS)

Kompas adalah kerangka kerja pembuatan CSS sumber terbuka yang menggunakan bahasa lembar gaya Sass untuk membuat lembar gaya penulisan yang kuat dan mudah. Diambil dari situs kompas

Less (ditulis dalam js, membutuhkan node.js atau less.js disertakan dalam halaman)

LESS memperluas CSS dengan perilaku dinamis seperti variabel, mixin, operasi, dan fungsi. LESS berjalan di kedua sisi klien (Chrome, Safari, Firefox) dan sisi server, dengan Node.js dan Rhino. Diambil dari situs Less

Ini adalah prosesor utama di luar sana yang saya tahu. Anda dapat menulis parser / port Anda sendiri untuk bahasa pilihan lain.

Dengan kata lain, tidak, Anda tidak dapat menggunakan sass / kompas tanpa Ruby karena program itu sendiri (sass & kompas) IS ditulis di Ruby. Jadi, Anda pasti membutuhkannya untuk menjalankannya.

tftd
sumber
Ini secara teknis akurat tetapi tidak terlalu tepat karena berbagai plugin dapat membantu Anda. Misalnya di Visual Studio ada plugin Mindscape Workbench yang memiliki lingkungan ruby ​​mandiri yang tidak perlu Anda khawatirkan. Ini tidak akan termasuk kompas untuk Anda tetapi yang merupakan semacam downer.
George Mauer
@TroyCosentino atau Stylus
Alejandro García Iglesias
Tidak, saya belum mencoba menemukan kompiler serupa dalam bahasa lain. Anda harus dapat menulis kompilasi dari awal dalam hampir semua bahasa yang layak tetapi kemungkinan besar itu akan menyita banyak waktu. Pertama Anda harus dapat mengurai css (dan mendeteksi kesalahan apa pun dalam sintaks css) dan kemudian Anda harus "mengkompilasi" (yang sebagian besar diformat ulang - yaitu kode css adalah satu baris) css. Setelah itu kemungkinan besar Anda ingin menambahkan beberapa css dengan warisan. Jika Anda merasa punya waktu, Anda dapat mencoba melakukannya dan membagikan hasilnya kepada kami :)
tftd
1
LESS juga dimungkinkan secara native di .NET menggunakan paket dotLESS NuGet.
David Boike
27

Memang benar pertanyaannya tidak cukup jelas, tetapi saya akan mencoba membahas beberapa masalah. Ada yang CSS pra-prosesor lain yang tidak bergantung pada Ruby (dua datang ke pikiran saya saat ini adalah Kurang , yang saya telah menggunakan dan menyukai, tetapi tidak sekuat Sass, dan Stylus , yang saya belum pernah menggunakan, keduanya berdasarkan JavaScript), tetapi karena Anda secara khusus bertanya tentang Sass + Kompas, dan karena saya masih mencari jawaban yang sama, saya akan membicarakannya.

@JamundFerguson berkata:

Apakah ada cara untuk mengkompilasi Sass tanpa Ruby? Tergantung.

Ada

Sass adalah bahasa pra-pemrosesan. Ada kompiler yang dibangun di Ruby untuk itu dan siapa pun dapat menulis kompiler dalam bahasa apa pun. Ada implementasi C dari kompilator Sass yang disebut libsass yang dapat digunakan pada bahasa apa pun yang memungkinkan untuk mengimpor C libs. Ini adalah pustaka yang digunakan oleh node-sass , yang merupakan kompiler yang dibangun di Node.js , yang belum saya coba dan tidak tahu bagaimana cara kerjanya dan apakah sudah siap untuk penggunaan produksi. Ini mungkin masalah waktu untuk Kompas untuk porting (mungkin Anda akhirnya melakukan hal itu?) Dan sehingga kami dapat memiliki compiler yang tidak tergantung pada permata Ruby (saat ini, ada simpul-kompas modul yang tidak bergantung pada permata Ruby).

Bahasa lainnya

Sejauh ini saya telah menyebutkan kemungkinan untuk kompiler Node.js, yang, seperti yang mungkin Anda ketahui, ini adalah lingkungan JavaScript, menjadi bahasa web dan bahasa pilihan saya. Tetapi Anda tidak menentukan bahasa apa yang Anda inginkan untuk menulis kompilator. Saya pikir mungkin ada kompiler yang dibangun dalam banyak bahasa, misalnya, @EricMeyer menyebutkan kompiler Python . Mungkin dia menggunakan pyScs ? Tampaknya memiliki dukungan bawaan untuk Kompas. Tapi kemudian Anda membutuhkan lingkungan Python. Jadi masalahnya adalah: Anda harus beberapa lingkungan untuk compiler kecuali jika Anda menjalankan binari native dikompilasi. (Less memiliki less.js yang dapat disertakan pada halaman untuk menjalankan sisi klien dan menghindari langkah kompilasi, tetapi ini tidak dimaksudkan untuk digunakan pada produksi.)

Aplikasi asli

Saya telah bekerja selama setahun dengan CodeKit, yang bekerja dengan sangat baik, mengkompilasi Sass / Compass, Less, Stylus dan bahasa template seperti Haml, Slim, Jade, dll. Membangun kembali aset Anda ketika mereka berubah secara otomatis dan Anda akan segera melihat perubahannya pada browser Anda. Satu-satunya hal yang tidak saya sukai adalah ketika pindah ke komputer lain, menginstal CodeKit, memeriksa proyek dan mencoba menggunakannya, saya harus mengkonfigurasi ulang pengaturan proyek, yang harus saya ingat agar saya bisa membangunnya seperti yang saya buat di komputer lain. Juga saya mulai bekerja dengan sebuah tim, dan mereka juga harus mengkonfigurasi proyek dengan pengaturan yang sama (terkadang tidak memiliki konfigurasi proyek yang sama menyebabkan inkonsistensi yang buruk) dan juga anggota tim yang menggunakan Ubuntu tidak dapat menggunakannya. Bahwa'segera, dan jatuh cinta padanya. Seperti yang disebutkan @Dave, ada Scout dan juga ada LiveReload , tetapi belum menggunakannya.

Kesimpulan

Kesimpulannya adalah saya tidak memiliki kesimpulan yang kuat. Saya masih mencari jawaban yang sama, tetapi saya harap jawaban ini menjelaskan sedikit tentang status kompilasi Sass / Kompas di luar lingkungan Ruby.

Alejandro García Iglesias
sumber
1
Untuk status libsass: solitr.com/blog/2014/01/state-of-libsass , yang bergantung pada node-sass dan library-sass lainnya.
Ehtesh Choudhury
27

Sebenarnya ada perpustakaan yang menyediakan pengikatan untuk Node.js ke libsass, Sass versi C: https://npmjs.org/package/node-sass

Ini memungkinkan Anda untuk mengkompilasi file .scss ke css dengan kecepatan luar biasa tanpa Ruby diinstal.

Untuk menginstal jalankan saja:

npm install node-sass

Dan ada juga ekstensi Grunt jika diperlukan: https://github.com/sindresorhus/grunt-sass (inilah yang saya cari dalam pertanyaan ini)

Cari tahu lebih lanjut di: https://github.com/andrew/node-sass

gkond
sumber
1
grunt-sass adalah apa yang saya cari.
9ilsdx 9rvj 0lo
11

Sedikit pembaruan tentang ini, Anda dapat menggunakan file SCSS / SASS dan menghasilkan file yang benar dengan cepat tanpa menginstal Ruby dengan menggunakan program bernama Scout.

Scout memiliki lingkungan ruby ​​tersendiri dan dikodekan dalam java jadi pastikan java Anda sudah up to date sebelum menggunakan. Linky di sini.

Salam :)

Dave
sumber
8
Saya lebih suka ruby ​​daripada java;)
basarat
Sebenarnya pada saat saya menulis Pramuka ini menggunakan Adobe Air. Mungkin versi lama menggunakan Java?
iconoclast
3
masih ruby ​​lebih baik dari Air :)
x0x
2

Adobe Brackets (gratis, open source) dapat mengkompilasi LESS, SASS dan Stylus ketika file diubah, dan memperbarui gaya selama pratinjau langsung, Anda hanya perlu menginstal ekstensi yang diperlukan dari pengelola ekstensi. Dapatkan Brackets dan nikmatilah!

Edit: Karena pertanyaan lain menyarankan node-sass juga merupakan pilihan yang baik jika Anda sudah menginstal nodejs.

Bangash
sumber