我知道现在玩!发布有一个Bootstrap 1.4的帮手。如果我想使用当前版本的Bootstrap,我该怎么办?
答案 0 :(得分:38)
我在Play 2.0中使用2.0.1 twitter bootstrap。您可以在此处下载特定版本:https://github.com/twitter/bootstrap/tags。下载twitter bootstrap后,您有两个选择:
您可以选择仅使用bootstrap.min.css
(和bootstrap-responsive.css
)和bootstrap.min.js
,所有这些文件都可以放在公共文件夹中。
或者您可以使用较少的文件作为CSS。如果您想使用较少的文件,请创建以下包(在app文件夹的根目录中):
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)
)
然后你可以把它包含在你的模板中:
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/bootstrap.min.css")" />
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/bootstrap/responsive.min.css")" />
编辑:2012-09-17: 如果您打算从源代码构建Play,请按照本教程的Play wiki页面进行操作:https://github.com/playframework/Play20/wiki/Tips
编辑:2012-09-21:
使用引导程序时,您始终必须选择是更改文件夹images
还是添加引导程序使用的两个静态图像的路径:
编辑:2013-03-11:
正如外部参照指出的那样,我犯了一个错误:img
必须是images
:
GET /assets/img/glyphicons-halflings-white.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings-white.png")
GET /assets/img/glyphicons-halflings.png controllers.Assets.at(path="/public", file="/images/glyphicons-halflings.png")
答案 1 :(得分:33)
快速且可维护的方法是使用WebJars(Typesafe Dev Advocate: James Ward的客户端依赖管理器),在Build.scala中有几行,您可以轻松添加Bootstrap(例如版本2.3) ,3.0等等 - 以及更多 - 对你的项目。
1)Here's the documentation example for adding Bootstrap 2.3 to Play 2.1,在您的 Build.scala :
中import sbt._
import Keys._
import play.Project
object ApplicationBuild extends Build {
val appName = "foo"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.webjars" %% "webjars-play" % "2.1.0-2",
"org.webjars" % "bootstrap" % "2.3.2"
)
val main = Project(appName, appVersion, appDependencies).settings()
}
2)然后在路线文件中添加一个条目:
GET /webjars/*file controllers.WebJarAssets.at(file)
3)将相关链接添加到模板:
<link href='@routes.WebJarAssets.at(WebJarAssets.locate("css/bootstrap.min.css"))' rel='stylesheet' >
<script src='@routes.WebJarAssets.at(WebJarAssets.locate("jquery.min.js"))' type='text/javascript' ></script>
注意,WebJars实际上会尝试为您找到您的资源,您无需完全限定资产位置。
答案 2 :(得分:4)
我会投入使用Glyphicons和Bootstrap 2.2.2以及Play 2.0.4我无法使用adis发布的路线。我将两个glyphicons文件移动到'images'文件夹中(Play默认值,而不是'img',这是Bootstrap的默认值)并添加到我的路线中:
# 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")
这让我可以像正常的bootstrap安装一样访问glyphicons,不会弄乱'less'文件等等
答案 3 :(得分:2)
或者您可以按照这个简单的教程:https://plus.google.com/u/0/108788785914419775677/posts/QgyUF9cXPkv
我在Twitter Bootstrap 2.0.1和Play 2.0中使用它
答案 4 :(得分:2)
我在play 2.0中使用bootstrap 2.0。 Everithing工作正常,执行helper.twitterbootstrap。
我认为它是twitterbootstrap 1.x的maje类,而不是2.0。 任何解决方案?
编辑:这是工作
答案 5 :(得分:1)
您只需更新twitter bootstrap并更新您自己的代码(您编写的引导程序特定代码)。有关更新到最新版本的更多信息,请查看以下链接:http://twitter.github.com/bootstrap/upgrading.html。
答案 6 :(得分:0)
我不得不做一些事情,包括使用最新版本的Play 2.0,因为发布的版本在编译bootstrap使用的文件较少时遇到了一些问题。按照此处https://github.com/playframework/Play20/wiki/BuildingFromSource中的说明从源代码构建。 然后我将所有bootstrap less文件放在应用程序的“app / assets / stylesheets /”目录中。 Play应该只编译“bootstrap.less”,因此您需要将以下内容添加到“project / Build.scala”:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
lessEntryPoints <<= baseDirectory(_/"app"/"assets"/"stylesheets" ** "bootstrap.less")
)
如果您使用任何bootstrap javascript插件,则需要将它们添加到“public / javascripts”并将其包含在HTML中。
答案 7 :(得分:0)
脚本方法(来自here)
1-将bootstrap的较少文件复制到app/assets/stylesheets/bootstrap
2-在app/assets/stylesheets/bootstrap
中运行此脚本,方法是在shell / terminal中复制并粘贴它(脚本将重命名部分文件并编辑导入路径):
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
注意:上述脚本在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")" />