【问题标题】:What is the value of HTML5 Boilerplate for a Rails application?对于 Rails 应用程序,HTML5 Boilerplate 的价值是什么?
【发布时间】:2011-10-29 17:26:11
【问题描述】:

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

humans.txt 文件示例

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

视口元标记

谷歌分析sn-p

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

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

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

我错过了什么吗? HTML5 Boilerplate 对 Rails 应用程序有什么价值?

【问题讨论】:

  • HTML5 Boilerplate 并不是要使用的。它是用来阅读的。它旨在成为您应该注意的功能清单。如果我使用 HTML5 样板,我会丢弃其中的 80%,因为它臃肿得要命,但是剩下的 20% 对我很有用,如果没有 HTML5 样板,我可能已经忘记了 20% 中的 1% 或 2%

标签: ruby-on-rails html ruby-on-rails-3.1 html5boilerplate


【解决方案1】:

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 内部没有任何开箱即用的功能。

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

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

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

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

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

你也可能对HTML5 Boilerplate for Rails Developers感兴趣

【讨论】:

    猜你喜欢
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多