0

Susy Getting Startedページには、次のようなセクションが'Manual Start'あります。

「ターミナルやレールからコンパスを使用していない場合は、この方法を使用できます」.

次に、Susy の Sass 定義をコピーする方法を説明し@import "susy"、その後 (それは主張します)、「あなたは大丈夫です」。

「sass」コマンドライン コマンドを使用してスタイルシートをコンパイルする独自のビルド システムの一部として Susy を使用しようとしています。明らかに、Susy Sassは Compassmixinsincludes依存しているため、Compass ディストリビューションから Compass Sass の定義を抽出し、Susy がアクセスできる場所に配置しました。次に、スタイルシートを次のようにコンパイルしようとしました。

sass -I scss/compass scss/foobar.scss ${CSSDIR}/foobar.css

これを行うと、Susy は警告をスローします。

「有効なレイアウト (列数) または有効なメディアクエリの最小幅ブレークポイント (長さ) を指定する必要があります」。

コードを掘り下げると、Susy が Compass によって提供される「コンパクト」関数を呼び出すことが問題のようです。実際の呼び出しは次のようなものです。

compact(false,false,false,...)

これは-私が推測する-に評価する必要があります:

false

しかし、「コンパクト」は Sass の機能ではありません。これは Compass の一部として Ruby に実装されている Compass 関数です。Compass の Ruby 拡張機能が利用できない場合、その呼び出しは変更されずに残されるため、Susy mixin が渡されます。

compact(false,false,false,...)

そうではありません'false'...そして、物事は洋ナシの形になります。(susy/_grid.scss の 93 行目で問題が発生します)。

コンパスなしでスージーを使用することは実際には不可能であるように私には思えます。この問題に対する私の最善の解決策は何ですか? スタイルシートをコンパイルする'compass compile ...'代わりに使用するだけですか? 'sass'または'compact'、他の方法で「sass」する機能を何らかの方法で提供できますか?

4

1 に答える 1

1

この機能は自分で追加できますが、私は Compass を使用することを強くお勧めします。必要なのはconfig.rbファイルだけで、Compass はさまざまなヘルパー関数のファイルが存在する場所を認識できます。Compass でコンパイルするコマンドは、出力場所が構成ファイルで既に定義されているため、よりコンパクトです compass watchcompass compile

コンパスを使用したくない場合は、自分で機能を追加できます。customまず、ここから来る関数 が必要です: https://github.com/chriseppstein/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb#L18

def compact(*args)
sep = :comma
if args.size == 1 && args.first.is_a?(Sass::Script::List)
  list = args.first
  args = list.value
  sep = list.separator
end
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
end

意味のある場所ならどこでも ruby​​ ファイルに配置してください。

sass コマンドに次のフラグを追加するだけです。-r ./path/to/functions.rb

于 2013-01-27T12:41:22.740 に答える