Twitter bootstrap 如何在play framework 2.x中使用Twitter Bootstrap 2

Twitter bootstrap 如何在play framework 2.x中使用Twitter Bootstrap 2,twitter-bootstrap,playframework,playframework-2.0,twitter-bootstrap-2,Twitter Bootstrap,Playframework,Playframework 2.0,Twitter Bootstrap 2,我知道那出戏!发行版为Bootstrap 1.4提供了一个帮助程序。如果我想使用当前版本的引导,我应该怎么做?您只需更新twitter引导,还可以更新您自己的代码(您编写的特定于引导的代码)。查看以下链接,了解有关更新到最新版本的更多信息:。我必须做几件事,包括使用最新版本的Play 2.0,因为发布的版本在编译引导使用的较少文件方面存在一些问题。按照此处的说明从源代码构建。 然后,我将所有无引导文件放在应用程序的“app/assets/stylesheets/”目录中。Play应该只编译“bo

我知道那出戏!发行版为Bootstrap 1.4提供了一个帮助程序。如果我想使用当前版本的引导,我应该怎么做?

您只需更新twitter引导,还可以更新您自己的代码(您编写的特定于引导的代码)。查看以下链接,了解有关更新到最新版本的更多信息:。

我必须做几件事,包括使用最新版本的Play 2.0,因为发布的版本在编译引导使用的较少文件方面存在一些问题。按照此处的说明从源代码构建。 然后,我将所有无引导文件放在应用程序的“app/assets/stylesheets/”目录中。Play应该只编译“bootstrap.less”,因此您需要将以下内容添加到“project/Build.scala”:

val main=PlayProject(appName、appVersion、appDependencies、mainLang=JAVA)。设置(

ReducerPoints我将2.0.1 twitter引导与Play 2.0一起使用。您可以在此处下载特定版本:。下载twitter引导后,您有两个选项:

  • 您可以选择只使用
    bootstrap.min.css
    (和
    bootstrap responsive.css
    )和
    bootstrap.min.js
    ,所有这些文件都可以放在公用文件夹中

  • 或者,您也可以将较少的文件用于css。如果您想使用较少的文件,请制作以下软件包(在应用程序文件夹的根目录中):

    assets.stylesheets.bootstrap

在构建scala时,您定义应编译以下.less文件:

// 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" / "bootstrap" * "responsive.less") +++ 
    (base / "app" / "assets" / "stylesheets" * "*.less")
)

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
  // Add your own project settings here
    lessEntryPoints <<= baseDirectory(customLessEntryPoints)
)

或者,您可以按照以下简单教程进行操作:


我将它与Twitter Bootstrap 2.0.1和Play 2.0一起使用

我将Bootstrap 2.0与Play 2.0一起使用。一切正常,除了helper.twitterbootstrap

我认为这是twitterbootstrap 1.x的主流,而不是2.0。 有解决办法吗

编辑:这是工作

  • 我在app/view中创建包助手/twitterBootstrap2
  • 然后我将路径_复制到helper/twitterBootstrap2中的_play/play2.0.1/framework/src/play/src/main/scala/views/helper
  • 我想怎么修改就怎么修改
  • 我导入@import helper.FieldConstructor和@import helper.twitterBootstrap2_ 和@impliciteField=@(fieldconstructor(twitterbootstrap2fieldconstructor.f)在我的视图中我想在哪里使用它

  • 我要补充一点,要在Bootstrap 2.2.2和Play 2.0.4中使用Glyphicons,我不能完全使用上面adis发布的路由。我将这两个Glyphicons文件移动到“images”文件夹(播放默认,而不是引导默认的“img”),并添加到我的路由中:

    # Map Bootstrap images
    GET     /assets/img/glyphicons-halflings.png            controllers.Assets.at(path="/public", file="/images/glyphicons-halflings.png")
    GET     /assets/img/glyphicons-halflings-white.png      controllers.Assets.at(path="/public", file="/images/glyphicons-halflings-white.png")
    

    这让我可以像正常的引导安装一样访问GlyphIcon,不需要处理“更少”的文件等

    一种快速且可维护的方法是使用(客户端依赖关系管理器),在Build.scala中只需几行代码,就可以轻松地将引导(例如2.3、3.0版等)添加到项目中

    1) ,在您的Build.scala中:

    for a in *.less; do mv $a _$a; done 
    sed -i "" 's|@import "|@import "bootstrap/_|' _bootstrap.less
    mv _bootstrap.less ../bootstrap.less
    sed -i "" 's|@import "|@import "bootstrap/_|' _responsive.less 
    mv _responsive.less ../responsive.less
    
    导入sbt_
    导入密钥_
    导入play.Project
    对象应用程序构建扩展了构建{
    val appName=“foo”
    val appVersion=“1.0-SNAPSHOT”
    val appDependencies=Seq(
    “org.webjars”%%“webjars播放”%%“2.1.0-2”,
    “org.webjars”%“bootstrap”%“2.3.2”
    )
    val main=项目(appName、appVersion、appDependencies)。设置()
    }
    
    2) 然后在路由文件中添加一个条目:

    GET/webjars/*文件控制器.WebJarAssets.at(文件)
    
    3) 将相关链接添加到您的模板中

    for a in *.less; do mv $a _$a; done 
    sed -i "" 's|@import "|@import "bootstrap/_|' _bootstrap.less
    mv _bootstrap.less ../bootstrap.less
    sed -i "" 's|@import "|@import "bootstrap/_|' _responsive.less 
    mv _responsive.less ../responsive.less
    
    
    

    注意WebJars实际上会为您查找资源,您不需要完全限定资产位置。

    脚本方法(来自)

    1-将引导的较少文件复制到
    app/assets/stylesheets/bootstrap

    2-在
    app/assets/stylesheets/bootstrap
    中运行此脚本,方法是复制并粘贴到shell/terminal中(脚本将重命名部分文件并编辑导入的路径):

    注意:上面的脚本在Mac上不工作在Mac上使用此

    for a in *.less; do mv $a _$a; done 
    sed -i "" 's|@import "|@import "bootstrap/_|' _bootstrap.less
    mv _bootstrap.less ../bootstrap.less
    sed -i "" 's|@import "|@import "bootstrap/_|' _responsive.less 
    mv _responsive.less ../responsive.less
    
    3-包括已编译的CSS

    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")" />
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/responsive.min.css")" />
    
    
    
    只需一张便条,这样你就不会把头发拔出来了。当前的稳定版本2.0.1不适用于最新的引导版本。你必须拉主树枝。原因是版本不兼容。nico共享的链接在底部的某个地方提到了这一点。我做了完全相同的操作,但responsive.min.css不会生成。文件bootstrap.min.css生成ok。@sealskej:尝试清理和/或重新启动您的项目,并验证您没有输入任何错误,这将非常困难。。谢谢。清洁和重新启动是我第一次想到的,我尝试了。你说的打字错误是指语法错误吗?是的,语法错误可能是,但名称拼写也可能是错误的,请看:我会在OSX上加入这一功能,但在Ubuntu10.04Lucid服务器上部署时,GlyphIcon不会出现。不知道为什么,但是从/img到/images的路径根本不起作用。必须手动编辑该服务器的bootstrap.css文件。我很想知道这种播放路径方法是否适用于其他操作系统。
    for a in *.less; do mv $a _$a; done 
    sed -i "" 's|@import "|@import "bootstrap/_|' _bootstrap.less
    mv _bootstrap.less ../bootstrap.less
    sed -i "" 's|@import "|@import "bootstrap/_|' _responsive.less 
    mv _responsive.less ../responsive.less
    
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap.min.css")" />
    <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/responsive.min.css")" />