【发布时间】:2013-01-10 16:26:12
【问题描述】:
在 Susy Getting Started 页面上,有一个标记为 'Manual Start' 的部分,上面写着:
“如果您不使用终端和/或 Rails 中的 Compass,您可以使用此方法”。
然后它解释了如何复制 Susy 的 Sass 定义和 @import "susy",然后(它声称)“你很高兴”。
我正在尝试将 Susy 用作我自己的构建系统的一部分,该系统使用“sass”命令行命令来编译我的样式表。显然,Susy Sass mixins 和 includes 依赖于 Compass,所以我从 Compass 发行版中提取了 Compass Sass 定义,并将它们放在 Susy 可以访问的地方。然后我尝试编译我的样式表:
sass -I scss/compass scss/foobar.scss ${CSSDIR}/foobar.css
当我这样做时,Susy 会发出警告:
“您需要提供有效的布局(列数)或有效的媒体查询最小宽度断点(长度)”。
深入研究代码,问题似乎在于 Susy 调用了 Compass 提供的“紧凑”函数。实际调用是这样的:
compact(false,false,false,...)
我认为应该评估为:
false
但“紧凑”不是 Sass 的功能;它是一个 Compass 函数,在 Ruby 中作为 Compass 的一部分实现。如果 Compass 的 Ruby 扩展不可用,则该调用保持不变,因此 Susy mixin 正在处理:
compact(false,false,false,...)
这不是'false' ...所以事情变成了梨形。 (问题发生在 susy/_grid.scss 的第 93 行)。
在我看来,在没有 Compass 的情况下使用 Susy 实际上是不可能的。我对这个问题的最佳解决方案是什么?我是否只使用'compass compile ...' 而不是'sass' 来编译我的样式表?或者我可以以某种其他方式将'compact' 函数提供给“sass”吗?
【问题讨论】:
-
我认为该文档可能是为以前的版本编写的,该版本实际上在没有 Compass 的情况下也可以工作。我可以检查它并更新文档。你介意在 github 上提交问题吗?感谢您指出!
-
--compass 选项不是为此而设计的吗?它应该使 Compass 导入可用并加载项目配置。我认为这是 Play 框架的 sass 插件采用的方法:github.com/ShaggyYeti/sbt-sass(它似乎对我有用)
标签: ruby sass compass-sass susy-compass