Tips - opensas/Play20Es GitHub Wiki

Play 2.0 tips and tricks

Usando Play Framework 2 con Twitter Bootstrap 2:

Renombrando los archivos de inclusión de Twitter Boostrap

  • Compile Play desde la última versión del código fuente (por lo menos RC3) (Dado que la librería LESS ha sido actualizada a la versión 1.2)
  • Copie los archivos LESS de bootstrap en app/assets/stylesheets/bootstrap
  • Agregue el prefijo bootstrap/_ antes de cada declaración de importación bootstrap.less y renombre cada archivo de la misma manera (Esta es la convención utilizada para evitar compilar estos archivos mientras se están empaquetando los assets compilados)
  • Mueva los archivos bootstrap.less a app/assets/stylesheets

Esto puede ser realizado con un script como el siguiente (ejecútelo en 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`

Otra alternativa: usando el archivo de configuración Build.scala

  • Copie los archivos less de bootstrap en app/assets/stylesheets/bootstrap

  • Modifique el archivo project/Build.scala para excluir los archivos LESS de Bootstrap que no deseamos compilar:

  • Defina una nueva función para resolver el BuildPath (BuildPath resolver function):

    // Compilamos únicamente el archivo de bootstrap bootstrap.less y cualquier otro archivo *.less en el direcotrio de stylesheets
    def customLessEntryPoints(base: File): PathFinder = (
        (base / "app" / "assets" / "stylesheets" / "bootstrap" * "bootstrap.less") +++
        (base / "app" / "assets" / "stylesheets" * "*.less")
    )

Nota: esto tan sólo compilará los archivos stylesheets/bootstrap/bootstrap.less y stylesheets/*.less . Si tiene otros archivos LESS en otros subdirectorios bajo la carpeta stylesheets; ajuste la función según corresponda.

  • Sobreescriba la configuración por defecto lessEntryPoints con la nueva función:
    val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
        lessEntryPoints <<= baseDirectory(customLessEntryPoints)
    )
  • Incluya el archivo bootstrap.min.css en su(s) vista(s):
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/bootstrap.min.css")" />
⚠️ **GitHub.com Fallback** ⚠️