web-dev-qa-db-ja.com

ルビーのないSassまたはCompass?

RubyなしでSassやCompassなどを使用する方法はありますか?

私はグーグルとこのサイトを見回してみましたが、何も見つかりません。どんな助けもありがたいです。ありがとうございました

98
Troy Cosentino

Sassは元々Ruby向けに書かれていましたが、今では libSass を作成しました。これはC/C++ Sassエンジンのポート。これにより、エンジンをIDEまたは別の言語に簡単に統合できます。この時点で、RubyでSassエンジンを使用できます Node .jsPython[〜#〜] php [〜#〜]Java。NET その他。詳細については、 libSass をご覧ください。また、IDEは、Ruby libSassを使用します。

以下の元の答えは、あなたの状況に当てはまるかもしれないし、当てはまらないかもしれません(あなたの言語がlibSassのサポートを実装しているかどうかに依存します)。アーカイブの理由から、そのままにしておくことにしました。


Sass(Rubyが必要)

SassはRubyで記述されているため、Rubyもインストールする必要があります。 sassのサイトから取得

コンパス(SASSに基づいているため、Rubyが必要)

CompassはオープンソースのCSSオーサリングフレームワークであり、Sassスタイルシート言語を使用して、スタイルシートを強力かつ簡単に記述できます。 コンパスのサイトから取得

Less(jsで記述され、node.jsまたはless.jsがページに含まれている必要があります)

LESSは、変数、ミックスイン、操作、関数などの動的な動作でCSSを拡張します。 LESSは、Node.jsとRhinoを使用して、クライアント側(Chrome、Safari、Firefox)とサーバー側の両方で実行されます。 Lessのサイトから取得

これらは私が知っているメインプロセッサです。選択した他の言語用に独自のパーサー/ポートを作成できます。

言い換えれば、プログラム自体(sass&compass)Ruby Rubyで書かれているため、ISがなければ、sass/compassは使用できません。 'それを実行するために間違いなく必要です。

51
tftd

質問が十分に明確ではないのは事実ですが、いくつかの問題に対処しようとします。そこにare Rubyに依存しない他のCSSプリプロセッサがあります(今頭に浮かぶ2つは Less です。 、しかし、Sassほど強力ではありません、そして スタイラス 、私はJavaScriptに基づいて使用していません)、しかしあなたがSass + Compassについて具体的に尋ねているので、私はまだ探しています同じ答えのために、私はそれについて話します。

@JamundFergusonは言った:

RubyなしでSassをコンパイルする方法はありますか?依存します。

がある

Sassは前処理言語です。 Rubyに組み込まれたコンパイラがあり、誰でも任意の言語でコンパイラを作成できます。 libsass と呼ばれるSassコンパイラのC実装があります。これは、Cライブラリをインポートできる任意の言語で使用できます。これは node-sass で使用されるライブラリです。これは Node.js に組み込まれているコンパイラで、まだ試していませんが、どのように機能するかわかりません。実稼働で使用する準備ができている場合。 Compassを移植するのは時間の問題かもしれません(たぶんそれをやることになるのでしょうか?)ので、Ruby gemに依存しないコンパイラを持つことができます(現在、 node-compassdoes Ruby gemに依存するモジュール)。

他の言語

これまで、Node.jsコンパイラの可能性について言及しました。これは、ご存知かもしれませんが、JavaScript言語であり、Webの言語であり、私の好みの言語です。しかし、コンパイラーに書き込む言語を指定しませんでした。たとえば、@ EricMeyerが Python コンパイラに言及しているように、多くの言語で構築されたコンパイラがあると思います。多分彼は pyScss ?これには、コンパスのサポートが組み込まれているようです。ただし、Python環境が必要です。つまり、ネイティブコンパイルされたバイナリを実行する場合を除き、コンパイラーにはsome環境が必要ですです。 (クライアント側を実行し、コンパイル手順を回避するためにページに含めることができるless.jsがありますが、本番環境で使用するためのものではありません。)

ネイティブアプリ

CodeKit で1年間働いてきました。これは非常にうまく機能し、Sass/Compass、Less、Stylus、Haml、Slim、Jadeなどのテンプレート言語をコンパイルします。ブラウザに変更がすぐに表示されます。私が気に入らなかった唯一のことは、別のコンピューターに移動してCodeKitをインストールし、プロジェクトをチェックアウトして使用しようとしたときに、プロジェクトの設定を再構成する必要があったことです。他のコンピューターで作ったもののように。また、私はチームと協力し始め、同じ設定でプロジェクトを構成する必要があり(同じプロジェクト構成を持たないとnotい不整合が生じる場合があります)、Ubuntuを使用しているチームのメンバーも使用できませんでした。だからこそ、プロジェクトをビルドするためのコマンドラインツールの作成を考え始め、すぐに Grunt を発見し、それに夢中になりました。 @Daveが言及したように、 Scout があり、 LiveReload もありますが、使用していません。

結論

結論は強い結論ではありません。私はまだ同じ答えを探していますが、この答えがRuby環境の外でSass/Compassをコンパイルする状況に少し光を当てることを願っています。

実際には、Node.jsをSassのCバージョンであるlibsassにバインドするライブラリがあります。 https://npmjs.org/package/node-sass

Rubyがインストールされていなくても、.scssファイルを信じられないほどの速度でcssにネイティブにコンパイルできます。

単に実行するには:

npm install node-sass

また、必要に応じてGrunt拡張機能もあります。 https://github.com/sindresorhus/grunt-sass (この質問で探していたものです)

詳細については、 https://github.com/andrew/node-sass をご覧ください。

25
gkond

これに関するほんの少しの更新、SCSS/SASSファイルを使用し、Scoutというプログラムを使用してRubyをインストールすることなく、その場で正しいファイルを生成できます。

Scoutには、独自の自己完結型のRuby環境があり、Javaでコーディングされているので、Java リンクはこちら

よろしく:)

11
Dave

Rubyなしで実際にsassを解析できます。node-sassを使用できます。詳細はこちら: https://github.com/andrew/node-sass

3
Dean Peterson

Adobe Brackets (無料のオープンソース)は、ファイルが変更されたときにLESS、SASS、およびStylusをコンパイルし、その間にスタイルを更新できますライブプレビューでは、必要な拡張機能を拡張機能マネージャーからインストールするだけです。 Get Brackets をお楽しみください!

編集:他の質問が示唆しているように、 node-sass は、nodejsがすでにインストールされている場合にも良いオプションです。

2
Bangash

これが.NET用の場合、 libsassのラッパー があります。 Nuget から利用できます。

2
Amir Abiri