有几个应用程序模板(和一个Rails gem)将HTML5 Boilerplate添加到Rails应用程序。所以我调查并整理了对HTML5 Boilerplate for Rails 的分析。似乎HTML5 Boilerplate并没有添加太多新Rails应用程序中尚未存在的内容。什么是有用的:
示例humans.txt文件
默认应用程序布局的示例index.html文件
viewport metatag
Google Analytics代码段
有一些CSS帮助,比如CSS规范化,占位符CSS媒体查询和CSS帮助程序类,但似乎你可以使用CSS工具包(如Skeleton,Twitter Bootstrap或Zurb Foundation)获得所有这些内容。
最后,HTML5 Boilerplate为需要支持IE6,7和8的网站提供了许多组件,例如IE条件评论,Modernizr和Chrome Frame。但如果我不支持IE6并且我使用Twitter Bootstrap或Zurb Foundation,我认为我不需要这些。
HTML5 Boilerplate是一个很好的项目,有很多社区输入。在其网站上有很多好的建议。但对于Rails项目?
我错过了什么吗? Rails应用程序的HTML5 Boilerplate的价值是什么?
答案 0 :(得分:5)
HTML5 Boilerplate有一些不同的功能,通常是从其他项目中借用的。
用于设置超时,打开sendfile,gzipping,服务器到期等的服务器配置文件。我相信他们的repo有几个不同版本的这些文件用于几个不同的服务器(apache,nginx,node,lighttpd )。您可以在此处找到这些配置文件:https://github.com/h5bp/server-configs。根据我的理解,Rails没有任何类型的等价物。
它还附带了一个Modernizr的自定义版本,用于检查浏览器中的HTML5和CSS3功能,然后将类添加到<html>
标记中,以便您可以在样式表或javascripts中使用它们。如果浏览器不支持您尝试使用的功能,则可以使用后备样式或交互来定位浏览器。 CSS的一个例子可能是像border-image
这样没有广泛支持的东西。您可以为可以使用它的浏览器应用border-image:
,对于其他您可以使用HTML5Boilerplate提供的类(html.no-borderimage
)来提供备份样式。您还可以从JavaScript中检查这些类,以确保您没有使用他们不需要(或无法响应)的代码来定位浏览器。 Rails内部没有任何可以开箱即用的东西。
Respond.js还与Modernizr打包在一起,它在没有它的浏览器中为您提供媒体查询支持。你提到你不是针对IE6而是针对IE7&amp; IE8不支持媒体查询(也没有大量的移动浏览器),Respond.js会为您提供支持。 Rails也没有内置任何东西来处理这个问题。
Modernizr依赖yepnope.js加载外部,以便您也可以使用。此库允许您根据测试结果测试功能并加载某些脚本/样式。如果您引入只有某些浏览器需要的文件,这将非常有用。 Rails没有这样做。
PNG修复。如果你不支持IE6,你可能不需要这个,但它确实附带了一些旧版浏览器的png修复程序( cough IE6)。 Rails并不真正在它自己的前端处理这类事情。
最终你可以抓住你需要的部分并将它们带入你的应用程序,而无需引入整个HTML5 Boilerplate(以及fwiw,这也是我通常所做的)。那就是说,你的问题是“HTML5 Boilerplate对Rails应用程序带来了什么价值?”并且答案是“很多”,取决于这些工具是否有用基于您正在做的事情。 HTML5 Boilerplate不一定以任何方式重叠Rails。
获取完整的功能列表,编码样式建议 感兴趣