9

有几个应用程序模板(和一个 Rails gem)将 HTML5 Boilerplate 添加到 Rails 应用程序。因此,我调查并整理了一份针对 Rails 的 HTML5 Boilerplate的分析。似乎 HTML5 Boilerplate 并没有添加太多新的 Rails 应用程序中没有的东西。有什么用处:

样本 human.txt 文件

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

视口元标记

谷歌分析片段

有一些 CSS 帮助,例如 CSS 规范化、占位符 CSS 媒体查询和 CSS 辅助类,但您似乎可以通过 Skeleton、Twitter Bootstrap 或 Zurb Foundation 等 CSS 工具包获得所有这些帮助。

最后,HTML5 Boilerplate 为需要支持 IE6、7 和 8 的网站提供了许多组件,例如 IE 条件注释、Modernizr 和 Chrome Frame。但如果我不支持 IE6 并且我正在使用 Twitter Bootstrap 或 Zurb Foundation,我认为我不需要这些。

HTML5 Boilerplate 是一个很好的项目,有很多社区输入。它的网站上有很多很好的建议。但是对于 Rails 项目呢?

我错过了什么吗?对于 Rails 应用程序,HTML5 Boilerplate 的价值是什么?

4

1 回答 1

5

HTML5 Boilerplate 有一些不同的特性,通常是从其他项目中借用的。

  • 用于设置超时、打开 sendfile、gzipping、服务器到期等的服务器配置文件。我相信他们的 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 内部没有任何东西可以开箱即用。

  • Respond.js 还与 Modernizr 打包在一起,它为您提供在尚未拥有它的浏览器中的媒体查询支持。您提到您的目标不是 IE6,但 IE7 和 IE8 不支持媒体查询(大量移动浏览器也不支持),Respond.js 会为您提供支持。Rails 也没有内置任何东西来处理这个问题。

  • Modernizr 依赖yepnope.js来加载外部组件,这样您也可以使用它。该库允许您测试功能并根据该测试的结果加载某些脚本/样式。如果您要引入只有某些浏览器需要的文件,这将很有帮助。Rails 不这样做。

  • PNG修复。如果您不支持 IE6,您可能不需要它,但它确实包含一些针对旧版浏览器的 png 修复(咳嗽IE6)。Rails 本身并不能真正在前端处理这类事情。

最终,您可以获取您需要的部分并将它们带入您的应用程序,而无需引入整个 HTML5 样板(当然,这也是我通常所做的)。也就是说,您的问题是“HTML5 Boilerplate 为 Rails 应用程序带来了什么价值?” 答案是“很多”,这取决于这些工具是否有用,具体取决于您正在做的事情。HTML5 Boilerplate 不一定以任何方式与 Rails 重叠。

您可以在HTML5 Boilerplate Docs中获得完整的功能列表和编码风格建议

您可能还会对面向 Rails 开发人员的 HTML5 样板感兴趣

于 2011-10-29T18:03:02.837 回答