HTML5 Boilerplate对于Rails应用程序的价值是什么?



有几个应用程序模板(和一个Rails gem)将HTML5 Boilerplate添加到Rails应用程序中。所以我调查并整理了一份HTML5 Boilerplate for Rails的分析。HTML5 Boilerplate似乎并没有添加太多新的Rails应用程序中没有的东西。

sample humans.txt文件

默认应用程序布局的示例index.html文件

viewport metatag

Google分析代码片段

有一些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项目呢?

我错过了什么吗? HTML5样板对Rails应用程序的价值是什么?

HTML5 Boilerplate有几个不同的功能,通常是从其他项目借鉴来的。

  • 服务器配置文件,用于设置超时、sendfile开启、gzip、服务器过期等。我相信他们的repo有几个不同版本的这些文件为几个不同的服务器(apache, nginx, node, lighttpd)。您可以在这里找到这些配置文件:https://github.com/h5bp/server-configs。根据我的理解,Rails没有任何类型的等效的

  • 它还带有一个自定义构建的Modernizr,检查浏览器内的HTML5和CSS3功能,然后将类添加到您的<html>标记中,以便您可以在样式表或javascript中使用它们。如果浏览器不支持你想要使用的特性,那么你就可以用一种后备风格或交互方式来瞄准浏览器。CSS的一个例子可能是border-image这样的东西,它没有得到广泛的支持。您可以为可以使用它的浏览器应用border-image:,而对于其他浏览器,您可以使用HTML5Boilerplate提供的类(html.no-borderimage)来提供备份样式。您还可以从JavaScript中检查这些类,以确保您的目标浏览器没有不需要(或无法响应)的代码。Rails内部没有任何东西可以开箱操作。

  • response .js还打包了Modernizr,它可以在浏览器中支持媒体查询。你提到你的目标不是IE6,而是IE7。IE8不支持媒体查询(很多移动浏览器也不支持),而response .js会给你这种支持。Rails也没有任何内置的东西来处理这个

  • Modernizr依赖于yepnope.js来加载外部文件,这样你也可以使用。这个库允许您测试功能,并根据测试结果加载特定的脚本/样式。如果您导入的文件只有某些浏览器需要,这将非常有用。

  • PNG修复。如果你不支持IE6,你可能不需要这个,但它确实打包了一些旧浏览器(咳嗽 IE6)的png修复。Rails并没有真正地在它自己的前端处理这种类型的事情。

最终,你可以抓住你需要的部分,并把它们带到你的应用程序,而不需要引入整个HTML5样板(而且,这也是我通常做的)。也就是说,你的问题是"HTML5 Boilerplate给Rails应用程序带来了什么价值?"答案是"很多",这取决于这些工具是否对你正在做的事情有用。HTML5样板不一定在任何方面与Rails重叠。

你可以在HTML5 Boilerplate Docs

中获得完整的功能列表和编码风格建议。

你也可能对Rails开发者的HTML5样板感兴趣

最新更新