Ruby Sass 已 废弃

发布于 2018 年 4 月 2 日,作者:Natalie Weizenbaum

随着上周 Dart Sass 1.0.0 稳定版 的发布,Ruby Sass 正式被宣布为废弃。我将在未来一年继续维护它,但到 2019 年 3 月 26 日,它将正式进入生命周期结束阶段。我鼓励所有用户尽早开始迁移,而不是 等到最后。

废弃期废弃期 永久链接

在未来一年中,我将继续以有限的容量维护 Ruby Sass。我会处理和修复报告的任何 bug,除非这些 bug 非常小或非常隐蔽,以至于在未来一年内不太可能造成实际问题。我还会为任何需要更改 Sass 解析器或语言其他部分的 CSS 特性添加支持。

不过,我不会开发与 CSS 支持无关的语言特性。从现在开始,最新和最棒的特性将仅出现在 Dart SassLibSass 

我也不会接受关于新 Ruby Sass 特性的拉取请求。虽然拉取请求是为项目做出贡献的好方法,但它们仍然需要我投入时间来合并,而当项目即将被放弃时,花时间在这项工作上是没有意义的。如果你有兴趣为 Sass 做出贡献,我强烈建议你为 Dart Sass 做出贡献——Dart 是一门非常容易学习的语言 

我们还将把 Ruby Sass 代码库迁移到 https://github.com/sass/ruby-sass,所以请确保更新你的 Git URL。旧代码库 URL 将在废弃期内继续有效,但它将被冻结;所有正在进行的维护都将在新的 URL 上进行。废弃期结束后,旧 URL 的 Git 历史记录将被删除,并替换为特性规范。请查看 此问题,了解完整的 计划。

迁移迁移 永久链接

我们希望尽可能轻松地将 Ruby Sass 迁移到一个积极维护的实现上。最好的方法取决于你今天如何使用 Ruby Sass 

如果你使用 Ruby Sass 作为命令行工具,最简单的迁移方法是将 Dart Sass 安装为命令行工具。它支持与 Ruby Sass 类似的界面,尽管它目前不支持 --watch--update 标志——添加它们 是优先事项 

如果你使用 Ruby Sass 作为 Ruby web 应用程序的插件,尤其是如果你在 Ruby 中定义了自己的 Sass 函数,则 sassc gem 提供了从 Ruby 访问 LibSass 的方法,其 API 与 Ruby Sass 非常相似。在大多数情况下,你只需要用 SassC 模块替换 Sass 模块,你的代码就可以继续 工作。

如果你正在使用 Rails,我特别建议你使用 sassc-rails gem,它将 sassc gem 包裹起来,并将其无缝集成到资产管道中。大多数情况下,你甚至不需要更改任何代码 

我们还计划在 Dart Sass 中添加对 将其嵌入 Ruby(和其他编程语言)的支持。这将允许 Ruby 用户在这些功能被 实现后立即获得最新和最棒的特性。

生命周期结束生命周期结束 永久链接

2019 年 3 月 26 日,Ruby Sass 的废弃期将结束,它将不再被维护。新的 sass/ruby-sass 代码库将被 存档,这意味着不会进行任何更改,也不会接受新的问题或拉取请求。旧的 sass/sass 代码库的 Git 历史记录将被替换为特性规范,这些规范以前只是散落在问题 评论中。

在生命周期结束之前,我们将把面向用户的 参考文档 从 Ruby Sass 代码库迁移到 Sass 网站。我们很需要一些帮助来进行迁移和完善文档,所以如果你有兴趣,请 参与追踪问题

除非…除非… 永久链接

我们正在停止对 Ruby Sass 的支持,因为 Sass 团队没有足够的带宽来维护它以及其他主要实现。但可能存在另一种解决方案。如果社区中有人愿意站出来接手维护者的角色,我们非常乐意向他们传授经验,并帮助他们继续维护 Ruby Sass 

维护语言实现并不一定容易。它需要随着特性添加到 Dart Sass 中而进行更新,以及修复 bug 并处理拉取请求。但这也是一个参与大型项目并产生很大影响的机会,我很乐意帮助新维护者尽快上手。如果你有兴趣,请发送邮件至 Chris,我们将讨论如何开始