【问题标题】:susy 'Manual Start' - does it actually work?susy '手动启动' - 它真的有效吗?
【发布时间】:2013-01-10 16:26:12
【问题描述】:

在 Susy Getting Started 页面上,有一个标记为 'Manual Start' 的部分,上面写着:

“如果您不使用终端和/或 Rails 中的 Compass,您可以使用此方法”。

然后它解释了如何复制 Susy 的 Sass 定义和 @import "susy",然后(它声称)“你很高兴”。

我正在尝试将 Susy 用作我自己的构建系统的一部分,该系统使用“sass”命令行命令来编译我的样式表。显然,Susy Sass mixinsincludes 依赖于 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


【解决方案1】:

你可以自己添加这个功能,虽然我真的推荐使用 Compass。它所需要的只是一个config.rb 文件,以便 Compass 知道文件应该存放在哪些位置以用于各种帮助函数。使用 Compass 编译的命令更加紧凑,因为输出位置已经在配置文件中定义:compass watchcompass compile

如果您不想使用 Compass,您可以自己添加该功能。首先你需要custom 函数,它来自这里:https://github.com/chriseppstein/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb#L18

def compact(*args)
sep = :comma
if args.size == 1 && args.first.is_a?(Sass::Script::List)
  list = args.first
  args = list.value
  sep = list.separator
end
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
end

将它放在一个 ruby​​ 文件中任何有意义的地方。

你的 sass 命令现在只需要添加这个标志:-r ./path/to/functions.rb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 2015-10-17
    • 1970-01-01
    • 2017-12-17
    • 2011-04-06
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多