Problema compilare Sass pe un proiect preluat

Salut,

Chiar daca urmaresc destul de des acest forum, este prima data cand postez. Cu ocazia asta vreau si sa va felicit pentru treaba misto pe care o faceti dar si sa va multumesc pentru chestiile pe care le-am gasit aici de-a lungul timpului (tutoriale, cupoane pentru siteuri de cursuri, etc).

In momentul de fata intampin o problema la un proiect si m-am gandit sa postez in ideea ca cineva ma poate ajuta cu o solutie.

De curand am preluat un proiect de la cineva (o tema de Wordpress). Trebuie sa fac niste updateuri pe partea de front-end doar ca aici apare problema. Din cate imi dau seama din cod, la acest site au lucrat mai multi oameni si fiecare a facut treaba dupa cum l-a taiat capul. Initial, tema a fost scrisa folosind Sass/Compass dar ulterior cineva a adaugat un style.css unde a supra-scris cu !important o gramada de chestii din Sass. Ce am incercat eu sa fac a fost sa rescriu style.css in Sass si sa compilez totul din nou, urmand ca apoi sa fac updateurile mele. Doar ca in momentul in care compilez codul, tot layoutul se strica si am si o lista uriasa de erori si warninguri (mentionez ca folosesc CodeKit). Deci chiar daca nu modific nimic in codul vechi Sass, in momentul in care dau Save totul se strica. Pana acum nu am mai lucrat pe proiecte de genul preluate de la altcineva si mereu cand am inceput un proiect mi-am setat singur totul cu CodeKit si nu am avut niciun fel de problema. Stie cineva vreo metoda alternativa care mi-ar fi de folos si m-ar ajuta sa lucrez cu vechiul cod fara sa trebuiasca sa rescriu toata tema? Daca as reusi sa compilez vechiul cod fara sa stric tot layoutul, atunci as putea rescrie si style.css si totul ar fi ok.

O sa fiu ceva timp pe acest proiect deci as vrea de la inceput sa il fac cat mai maintainable fara sa mai adaug si eu alta varza peste ceea ce este deja. Nici sa rescriu tot nu pare o idee buna mai ales ca nu detin timpul necesar.

Din cate imi dau seama este ceva legat de compatibilitatea dintre versiunile de Sass/Compass dar nu am gasit niciun fel de rezolvare. Am incercat deasemenea si compilarea din command line si are cam acelasi rezultat.

Nu am chiar foarte multa experienta cu Sass deci scuze daca intrebarea pare stupida.

Multumesc frumos!

Pune aici mesajul de eroare pe care-l primești în CodeKit.

La setările proiectului în CodeKit, ce setări ai la Sass file output paths?

Salut!

Acestea sunt setarile.

Iar in config.rb:

http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "js"
fonts_dir = "fonts"

Am verificat si structura folderelor e ok.

DEPRECATION WARNING on line 87 of /Applications/CodeKit.app/Contents/Resources/engines/compass/compass-core/stylesheets/compass/css3/_deprecated-support.scss: #{} interpolation near operators will be simplified
in a future version of Sass. To preserve the current behavior, use quotes:

  unquote('"$moz-"#{$experimental-support-for-mozilla} "$webkit-"#{$experimental-support-for-webkit} "$opera-"#{$experimental-support-for-opera} "$microsoft-"#{$experimental-support-for-microsoft} "$khtml-"#{$experimental-support-for-khtml}')

DEPRECATION WARNING on line 92 of /Applications/CodeKit.app/Contents/Resources/engines/compass/compass-core/stylesheets/compass/css3/_deprecated-support.scss: #{} interpolation near operators will be simplified
in a future version of Sass. To preserve the current behavior, use quotes:

 unquote('"$ie6-"#{$legacy-support-for-ie6} "$ie7-"#{$legacy-support-for-ie7} "$ie8-"#{$legacy-support-for-ie8}')

De cand ma invart in jurul acestei probleme nici nu mai stiu ce am incercat si ce nu. De exemplu acum am setat totul din nou ca sa pot fii sigur ca ce postez e fix ce se intampla si nu mai primesc cateva erori dinainte. Primeam multe legate de incompatibilitatea PIE in compass + multe legate de mixin missing desi _mixin.css nu a fost atins deci banuiesc ca ar trebui sa fie ok. La fel eroare la @import “compass/utilities” si @import “compass/typography”

Mersi! :slight_smile:

Edit:

Asta vad cand intru pe site dupa compilare:

Edit 2:

Dupa ce dau Compile project

Folosesti o versiune mai noua de Compass in care:

aparent a fost scos in:

0.13.alpha.8 (10/21/2013)

Breaking Change: The CSS3PIE module has been removed.

deci probabil va treb. sa incerci 0.12.2?

Btw. Compass ca proiect este mort. Eu unul as migra tot codebase-ul and charge for that.

1 Like

Primul pas: nu mai folosi Codekit :slight_smile:

Dacă următorul dev nu va fi pe mac cum va compila sursele? Ai putea folosi Gulp, Grunt sau chiar script-uri npm.

Următorul pas este să te asiguri că ești pe ultima versiune de Sass.

Ultimul pas este să rezolvi problemle de compatibilitate. Poți face asta folosind divide et impera: Reduci fișierul Sass la minimum necesar să compileze corect, după care începi să re-adaugi lucrurile șterse în pași mărunți.

Dai de eroare? Rezolvi. Nu dai? Adaugi altă bucată. Repeți până termini.

La o primă vedere, poți renunța la CSS Pie în favoarea postCSS + Autoprefixer.

PS: vreun motiv anume pentru care (mai) folosești Compass?

Mersi de raspunsuri!

Nu am niciun motiv gen preferinta personala pentru care folosesc Compass. Doar ce am inceput sa lucrez pe proiectul acesta si mi s-a cerut sa il pastrez la fel (mentionez ca e un proiect care mi-a fost assignat la jobul full time, de aici si folosirea CodeKit + Mac).

Am setat acum un template curat si am inceput sa adaug style-ul cam cum mi-a sugerat si @iamntz
O sa vad pana unde pot ajunge dar nu sunt convins ca o sa il pot face 100% identic cu cel de acum tocmai din cauza tool-urilor folosite si amestecaturii totale din cod.

Thanks again!