CSS 2 Sass: Как изменить формат вывода сгенерированного SCSS? - PullRequest
2 голосов
/ 07 июля 2010

Я хочу преобразовать CSS в 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

Спасибо!

Ответы [ 3 ]

1 голос
/ 12 января 2011

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

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)
1 голос
/ 07 июля 2010

Согласно документации (и проверке 'sass-convert -h' в командной строке), нет способа изменить стиль вывода при переходе от css к scss (или sass).

0 голосов
/ 21 марта 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...