§Sassの使用
Sassは動的なスタイルシート言語です。変数、mixinなどのサポートを含め、CSSファイルの記述方法にかなりの柔軟性を持たせることができます。
Playのコンパイル可能なアセットは、通常app/assets
ディレクトリに定義されます。それらはビルドプロセスによって処理され、Sassソースは標準のCSSファイルにコンパイルされます。生成されたCSSファイルは、管理されていないアセットと同じpublic/
フォルダに標準リソースとして配布されます。つまり、コンパイル後の使用方法に違いはありません。
たとえば、Sassソースファイルapp/assets/stylesheets/main.scss
は、public/stylesheets/main.css
で標準のCSSリソースとして利用可能になります。
Sassソースは、assets
コマンド中、または開発モードで実行中にブラウザで任意のページを更新すると、自動的にコンパイルされます。コンパイルエラーはブラウザに表示されます。
§部分的なSassソースファイルの操作
Sassファイル(*.scss
/*.sass
)は自動的にコンパイルされます。Sassプラグインは、ファイル名に基づいて使用されているSass構文(インデント付きかどうか)を自動的に判別します。名前が_
で始まるファイルは、個別にコンパイルされません。ただし、そのようなファイルは、標準のSassインポート機能を使用することで、他のSassファイルに含めることができます。
§レイアウト
プロジェクトでSassを使用するためのレイアウト例を以下に示します。
app
└ assets
└ stylesheets
└ main.scss
└ utils
└ _reset.scss
└ _layout.scss
次のmain.scss
ソースが与えられた場合
@import "utils/reset";
@import "utils/layout";
h1 {
color: red;
}
上記のアウトラインのSassファイルは、public/stylesheets/main.css
にコンパイルされます。したがって、このファイルは、通常のパブリックアセットとしてテンプレートで使用できます。
<link rel="stylesheet" href="@routes.Assets.at("stylesheets/main.css")">
§SassとWeb Jarの混合
WebJarsを使用すると、すべての依存関係を自分でコードベースに手動で取り込むことなく、クライアントライブラリに依存することができます。
Compassは、Sass用のあらゆる種類の再利用可能な関数とmixinを含むライブラリです。残念ながら、このライブラリはSassのRuby実装を対象としています。そこから抽出できる有用なmixinが多数あります。幸いなことに、これらのmixinはWeb Jarにラップされています。
これらのCompass mixinをプロジェクトに含めるには、ライブラリの依存関係にWeb Jarの依存関係を含めるだけです。たとえば、build.sbt
ファイル内
libraryDependencies += "org.webjars.bower" % "compass-mixins" % "0.12.7"
sbt-webは、WebJarsをアセットのターゲットディレクトリに対する相対的なlib
ディレクトリに自動的に展開します。したがって、Compass mixinを使用するには、次のようにmixinをインポートできます。
@import "lib/compass-mixins/lib/compass";
table.ellipsed-table {
tr td {
max-width: 100px;
@include ellipsis();
}
}
同じアイデアを使用して、他のSassライブラリを含めることができます。たとえば、bootstrapの公式Sassポートなどです。WebJarを含めるには、次を使用します。
libraryDependencies += "org.webjars.bower" % "bootstrap-sass" % "3.3.6"
次に、プロジェクトで使用するには、次を使用できます。
@import "lib/bootstrap-sass/assets/stylesheets/bootstrap";
§有効化と設定
Sassのコンパイルは、PlayJava
またはPlayScala
プラグインを使用するときに、plugins.sbtファイルにsbt-sassifyプラグインを追加するだけで有効になります。
addSbtPlugin("io.github.irundaia" % "sbt-sassify" % "1.5.2")
プラグインのデフォルト設定は通常十分であるはずです。ただし、設定方法および最新バージョンについては、プラグインのドキュメントを参照してください。
次: JSHintの使用
このドキュメントにエラーを見つけましたか?このページのソースコードはこちらにあります。ドキュメントガイドラインをお読みになった後、プルリクエストを自由に貢献してください。質問やアドバイスを共有したいですか?コミュニティフォーラムにアクセスして、コミュニティとの会話を始めてください。