Reputation: 1856
I am trying to future-proof the css in a zinnia-django blog using compass, susy, and sass. I have successfully copied my zinnia templates into /var/www/static/zinnia
by running python manage.py collectstatic
. Then I edit a sass file, cd
to /var/www/static/zinnia/
, and run compass compile
. This produces the following errors and causes my blog to not render with css anymore!
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
On the top of my blog webpage appears the following in 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. At present the code is a virtual mirror of the github repository. Here is line 27, where this error seems to be originating from.
Line 27 of _layouts.scss:
@include container($total-columns, $screen-layout);
As a clue I was able to learn this. However, I would prefer to use the latest gem versions available to me. I do not know if this compiles with older gems, but the answer to this piece of the puzzle is a bit tangential (though useful). Thus, I need an answer that will me to compile without errors.
Thank you for your help.
Upvotes: 1
Views: 2302
Reputation: 21
I got the same error while using susy 2.1.1. It was fixed by replacing @import "susy"
with @import "susyone"
. This way susy reads susy 1.x syntax.
Upvotes: 2
Reputation: 133
I ran into the same error, even with the order of importing compass before susy. What fixed it for me was uninstalling this no-longer-used gem: compass-susy-plugin.
Upvotes: 3
Reputation: 72261
I suspect (I do not have a means of testing) the error is in the load order of your components. In this zinnia file, lines 7-8 look like this:
@import "susy";
@import "compass";
So the compass
definition of the container
mixin (that does not have variables) is going to overwrite the susy
mixin of container
that does have them. Since susy
is built off compass
, the order should probably be:
@import "compass";
@import "susy";
This may resolve the other issues you note as well.
Upvotes: 1