You are viewing the documentation for the 2.0 release in the 2.0.x series of releases. The latest stable release series is 3.0.x.
§Play 2.0 tips and tricks
§To use Play Framework 2 with Twitter Bootstrap 2:
§Renaming the Bootstrap include files
- Build Play from last sources (near RC3) (Since less version has been updated to 1.2 )
- Copy bootstrap’s less files into
app/assets/stylesheets/bootstrap - Add
bootstrap/_before eachbootstrap.lessimport declaration and rename each file the same way ( This is the convention to not compile theses files while packaging compiled assets ) - Move
bootstrap.lessfile intoapp/assets/stylesheets
This can be done with a script like this (run in app/assets/stylesheets/bootstrap)
for a in *.less; do mv $a _$a; done
sed -i '|s|@import "|@import "bootstrap/_|' bootstrap.less
mv bootstrap.less ../bootstrap.less`
§Alternative: using the Build.scala configuration file
- Copy bootstrap’s less files into
app/assets/stylesheets/bootstrap - Modify the
project/Build.scalafile to filter out the Bootstrap LESS files we don’t want to compile:-
Define a new BuildPath resolver function:
// Only compile the bootstrap bootstrap.less file and any other *.less file in the stylesheets directory def customLessEntryPoints(base: File): PathFinder = ( (base / "app" / "assets" / "stylesheets" / "bootstrap" * "bootstrap.less") +++ (base / "app" / "assets" / "stylesheets" * "*.less") )Note: this wil only compile
stylesheets/bootstrap/bootstrap.lessandstylesheets/*.lessfiles. If you have any other LESS files in other subdirectories understylesheets; adjust the function accordingly. -
Override the default
lessEntryPointssetting key with the new function:val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings( lessEntryPoints <<= baseDirectory(customLessEntryPoints) ) -
Include the
bootstrap.min.cssfile in your view(s):<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/bootstrap.min.css")" />
-