2010-07-07 3 views
2

Я хочу, чтобы преобразовать CSS в SCSS, который выглядит следующим образом:CSS 2 Sass: Как изменить выходной формат сгенерированного SCSS?

.top { 
    margin-top: 1em; 
    margin-bottom: 1em; 
    nav { 
    background: #333; 
    } 
    ul { 
    padding: 0; 
    display: table-row; 
    } 
    li { 
    display: table-cell; 
    } 
} 

Вместо этого, я получаю это:

.top { 
    margin-top: 1em; 
    margin-bottom: 1em; 
    nav { 
    background: #333; } 
    ul { 
    padding: 0; 
    display: table-row; } 
    li { 
    display: table-cell; } } 

Как изменить выходной отступы в команде:

sass-convert public/stylesheets/application.css public/stylesheets/application.scss 

Спасибо!

ответ

1

В соответствии с документами (и проверкой «sass-convert -h» в командной строке) нет способа изменить стиль вывода при переходе от css к scss (или sass).

1

я это та же проблема, поэтому я использовал следующий Python, чтобы сделать некоторые пост-обработки и исправить сгенерированные в :expandedoutput style:

import sys 
    import re 

path = sys.argv[1] 

scss = open(path).read() 

# Fix up the indentation of closing braces to use a :expanded rather than :nested style. 
scss = re.sub(r'\t(\t*)([^\}\n]*;) (\}.*)', r'\t\1\2\n\1\3', scss) 
for i in range(0, 10): 
    # This line is executed multiple times to fix up multiple closing braces on a single line. 
    scss = re.sub(r'\t(\t*)\};? \}', r'\t\1}\n\1}', scss) 

open(path, 'w').write(scss) 
0

Вы можете сделать это с помощью этого инструмента http://css2sass.heroku.com/

Я использовал это для преобразования CSS в SCSS

Смежные вопросы