我正在尝试使用zinnia,compass和susy在sass - django博客中展示未来的css。我已通过运行/var/www/static/zinnia
将我的百日草模板成功复制到python manage.py collectstatic
。然后我编辑一个sass文件,cd
到/var/www/static/zinnia/
,然后运行compass compile
。这会产生以下错误并导致我的博客不再使用css进行渲染!
error sass/screen.scss (Line 27 of sass/partials/_layouts.scss: Mixin container takes 0 arguments but 2 were passed.) #from running compass compile in shell
在我的博客网页的顶部,在Firefox中显示以下内容:
Syntax error: Mixin container takes 0 arguments but 2 were passed.
on line 27 of /var/www/static/zinnia/sass/partials/_layouts.scss, in `container'
from line 27 of /var/www/static/zinnia/sass/partials/_layouts.scss
from line 20 of /var/www/static/zinnia/sass/screen.scss
Relevant zinnia code is visible on github.目前,代码是github存储库的虚拟镜像。这是line 27,这个错误似乎源于。
_layouts.scss的第27行:
@include container($total-columns, $screen-layout);
作为线索,我能够学习this。但是,我更愿意使用最新的宝石版本。我不知道这是否与较旧的宝石编译,但这个拼图的答案有点切线(虽然有用)。因此,我需要一个能够无误编译的答案。
感谢您的帮助。
答案 0 :(得分:3)
我遇到了同样的错误,即使是在susy之前导入指南针的顺序。修复它的原因是卸载this no-longer-used gem: compass-susy-plugin。
答案 1 :(得分:2)
使用susy 2.1.1时出现了同样的错误。通过将@import "susy"
替换为@import "susyone"
来解决此问题。这种方式susy读取susy 1.x语法。
答案 2 :(得分:1)
我怀疑(我没有测试方法)错误是在组件的加载顺序中。在this zinnia file中,第7-8行看起来像这样:
@import "susy";
@import "compass";
因此,compass
mixin(that does not have variables)的container
定义将覆盖susy
的{{1}}混合container
susy
。由于compass
是@import "compass";
@import "susy";
建立的,因此订单应该是:
{{1}}
这也可以解决您注意到的其他问题。