Ruby Sass Kommandozeilen- Interface

⚠️ Vorsicht!

Ruby Sass hat das Lebensende erreicht und wird nun vollständig nicht mehr gepflegt. Bitte steigen Sie so bald wie möglich auf Dart Sass oder LibSass um.

VerwendungPermalien für Verwendung

Die Ruby Sass-Executable kann in zwei Modi aufgerufen werden.

Ein-zu-eins-ModusEin-zu-eins-Modus Permalink

sass [input.scss] [output.css]

Der Ein-zu-eins-Modus kompiliert eine einzelne Eingabedatei (input.scss) an einen einzelnen Ausgabeort (output.css). Wenn kein Ausgabeort angegeben wird, wird das kompilierte CSS im Terminal ausgegeben. Wenn weder Eingabe noch Ausgabe angegeben werden, wird das CSS von der Standardeingabe gelesen und im Terminal ausgegeben.

Die Eingabedatei wird als SCSS geparst, wenn ihre Erweiterung .scss ist, oder als die eingezogene Syntax, wenn ihre Erweiterung .sass ist. Wenn sie keine dieser beiden Erweiterungen hat oder aus der Standardeingabe kommt, wird sie standardmäßig als eingezogene Syntax geparst. Dies kann mit dem --scss Flag gesteuert werden.

Viele-zu-viele-ModusViele-zu-viele-Modus Permalink

sass [<input.css>:<output.css>] [<input/>:<output/>] [input.css] [input/]...

Der Viele-zu-viele-Modus kompiliert eine oder mehrere Eingabedateien in eine oder mehrere Ausgabedateien. Die Eingaben werden durch Doppelpunkte von den Ausgaben getrennt. Er kann auch alle Sass-Dateien in einem Verzeichnis in CSS-Dateien mit denselben Namen in einem anderen Verzeichnis kompilieren. Der Viele-zu-viele-Modus wird aktiviert, wenn ein Argument einen Doppelpunkt enthält oder wenn das --update Flag oder das --watch Flag übergeben wird.

Wenn eine Eingabedatei ohne entsprechende Ausgabedatei übergeben wird, wird sie in eine CSS-Datei kompiliert, die denselben Namen wie die Eingabedatei hat, aber mit der Erweiterung .css. Wenn ein Eingabeverzeichnis ohne entsprechendes Ausgabeverzeichnis übergeben wird, werden alle Sass-Dateien darin in CSS-Dateien im selben Verzeichnis kompiliert.

$ sass style.scss:style.css
      write style.css
      write style.css.map
$ sass light.scss:light.css dark.scss:dark.css
      write light.css
      write light.css.map
      write dark.css
      write dark.css.map
$ sass themes:public/css
      write public/css/light.css
      write public/css/light.css.map
      write public/css/dark.css
      write public/css/dark.css.map

Beim Kompilieren ganzer Verzeichnisse ignoriert Sass Teildateien, deren Namen mit _ beginnen. Sie können Teildateien verwenden, um Ihre Stylesheets zu trennen, ohne unnötige Ausgabedateien zu erzeugen.

Der Viele-zu-viele-Modus kompiliert nur Stylesheets, deren Abhängigkeiten neuer modifiziert wurden als die entsprechende CSS-Datei generiert wurde. Er gibt auch Statusmeldungen aus, wenn Stylesheets aktualisiert werden.

OptionenOptionen Permalink

AllgemeinAllgemein Permalink

--load-pathPermalien für –load-path

Diese Option (abgekürzt -I) fügt einen zusätzlichen Ladepfad hinzu, den Sass nach Stylesheets durchsuchen kann. Sie kann mehrmals übergeben werden, um mehrere Ladepfade anzugeben. Frühere Ladepfade haben Vorrang vor späteren Lade pfaden.

$ sass --load-path=node_modules/bootstrap/dist/css style.scss style.css

Ladepfade werden auch aus der Umgebungsvariable SASS_PATH geladen, falls diese gesetzt ist. Diese Variable sollte eine Liste von Pfaden sein, die durch ; (unter Windows) oder : (auf anderen Betriebssystemen) getrennt sind. Ladepfade in SASS_PATH haben Vorrang vor Lade pfaden, die auf der Kommandozeile übergeben werden.

$ SASS_PATH=node_modules/bootstrap/dist/css sass style.scss style.css

--require–require Permalink

Diese Option (abgekürzt -r) lädt ein Ruby Gem, bevor Sass ausgeführt wird. Sie kann verwendet werden, um in Ruby definierte Funktionen in Ihre Sass- Umgebung zu laden.

$ sass --require=rails-sass-images style.scss style.css

--compass–compass Permalink

Dieses Flag lädt das Compass Framework und macht seine Mixins und Funktionen für die Verwendung in Sass verfügbar.

$ sass --compass style.scss style.css

--style–style Permalink

Diese Option (abgekürzt -t) steuert den Ausgabestil des resultierenden CSS. Ruby Sass unterstützt vier Ausgabestile 

  • nested (Standard) rückt CSS-Regeln ein, um die Verschachtelung der Sass- Quelldateien abzugleichen.
  • expanded schreibt jeden Selektor und jede Deklaration auf eine eigene Zeile.
  • compact setzt jede CSS-Regel auf eine einzelne Zeile.
  • compressed entfernt so viele zusätzliche Zeichen wie möglich und schreibt das gesamte Stylesheet auf eine einzige Zeile.
$ sass --style=nested
h1 {
  font-size: 40px; }
  h1 code {
    font-face: Roboto Mono; }

$ sass --style=expanded style.scss
h1 {
  font-size: 40px;
}
h1 code {
  font-face: Roboto Mono;
}

$ sass --style=compact style.scss
h1 { font-size: 40px; }
h1 code { font-face: Roboto Mono; }

$ sass --style=compressed style.scss
h1{font-size:40px}h1 code{font-face:Roboto Mono}

--help–help Permalink

Dieses Flag (abgekürzt -h und -?) gibt eine Zusammenfassung dieser Dokumentation aus.

$ sass --help
Usage: sass [options] [INPUT] [OUTPUT]

Description:
  Converts SCSS or Sass files to CSS.

...

--version–version Permalink

Dieses Flag gibt die aktuelle Version von Sass aus.

$ sass --version
Sass 3.7.4

Beobachten und AktualisierenBeobachten und Aktualisieren Permalink

Diese Optionen wirken sich auf den Viele-zu-viele-Modus  aus.

--watch–watch Permalink

Aktiviert den Viele-zu-viele-Modus und veranlasst Sass, offen zu bleiben und Stylesheets weiterhin zu kompilieren, wann immer sie oder ihre Abhängigkeiten sich ändern.

$ sass --watch themes:public/css
      write public/css/light.css
      write public/css/light.css.map

​# Then when you edit themes/dark.scss...
      write public/css/dark.css
      write public/css/dark.css.map

--poll–poll Permalink

Dieses Flag, das nur zusammen mit --watch übergeben werden kann, weist Sass an, Änderungen an den Quelldateien regelmäßig manuell zu überprüfen, anstatt sich darauf zu verlassen, dass das Betriebssystem benachrichtigt, wenn etwas geändert wird. Dies kann notwendig sein, wenn Sie Sass auf einem Remote-Laufwerk bearbeiten, auf dem das Benachrichtigungssystem des Betriebssystems nicht funktioniert.

$ sass --watch --poll themes:public/css
      write public/css/light.css
      write public/css/light.css.map

​# Then when you edit themes/dark.scss...
      write public/css/dark.css
      write public/css/dark.css.map

--update–update Permalink

Dieses Flag aktiviert den Viele-zu-viele-Modus, auch wenn keines der Argumente durch Doppelpunkte getrennte Paare sind.

$ sass --update style.scss
      write style.css
      write style.css.map

--force–force Permalink

Dieses Flag (abgekürzt -f) kann nur im Viele-zu-viele-Modus übergeben werden. Es bewirkt, dass Sass-Dateien immer in CSS-Dateien kompiliert werden, anstatt nur dann kompiliert zu werden, wenn die Quelldateien aktueller sind als die Ausgabe.

Das Flag --force kann nicht zusammen mit dem Flag --watch übergeben werden.

$ sass --force style.scss:style.css
      write style.css
      write style.css.map

--stop-on-error–stop-on-error Permalink

Dieses Flag kann nur im Viele-zu-viele-Modus übergeben werden. Es weist Sass an, die Kompilierung sofort zu stoppen, wenn ein Fehler erkannt wird, anstatt zu versuchen, andere Sass-Dateien zu kompilieren, die möglicherweise keine Fehler enthalten.

$ sass --stop-on-error themes:public/css
Error: Invalid CSS after "h1 {font-size: ": expected expression (e.g. 1px, bold), was "}"
        on line 1 of test.scss
  Use --trace for backtrace.

Ein- und AusgabeEin- und Ausgabe Permalink

Diese Optionen steuern, wie Sass seine Eingabedateien lädt und wie es Ausgabedateien erzeugt.

--scss–scss Permalink

Dieses Flag weist Sass an, die Standardeingabe als SCSS zu parsen.

$ echo "h1 {font-size: 40px}" | sass --scss
h1 {
  font-size: 40px;
}

--sourcemap–sourcemap Permalink

Diese Option steuert, wie Sass Quellkarten generiert. Quellkarten sind Dateien, die Browsern oder anderen Tools, die CSS verarbeiten, mitteilen, wie dieses CSS den Sass-Dateien, aus denen es generiert wurde, entspricht. Sie ermöglichen es, Ihre Sass-Dateien im Browser anzuzeigen und sogar zu bearbeiten. Siehe Anleitungen zur Verwendung von Quellkarten in Chrome und Firefox. Es hat vier mögliche Werte

  • auto (Standard) verwendet relative URLs, um von der Quellkarte zu den Sass-Stylesheets zu verlinken, wo immer dies möglich ist, und ansonsten absolute file: URLs.
  • file verwendet immer absolute file: URLs, um von der Quellkarte zu den Sass- Stylesheets zu verlinken.
  • inline fügt den Text der Sass-Stylesheets direkt in die Quellkarte ein.
  • none generiert überhaupt keine Quellkarten .
​# Generates a URL like "../sass/style.scss".
$ sass --sourcemap=auto sass/style.scss css/style.css

​# Generates a URL like "file:///home/style-wiz/sassy-app/sass/style.scss".
$ sass --sourcemap=file sass/style.scss css/style.css

​# Includes the full text of sass/style.scss in the source map.
$ sass --sourcemap=inline sass/style.scss css/style.css

​# Doesn't generate a source map.
$ sass --sourcemap=none sass/style.scss css/style.css

--stdin–stdin Permalink

Dieses Flag (abgekürzt -s) weist Sass an, seine Eingabedatei von der Standardeingabe zu lesen. Wenn es übergeben wird, darf keine Eingabedatei übergeben werden.

$ echo -e 'h1\n  font-size: 40px' | sass --stdin
h1 {
  font-size: 40px;
}

Das Flag --stdin kann nicht mit dem Viele-zu-viele-Modus  verwendet werden.

--default-encoding–default-encoding Permalink

Diese Option (abgekürzt -E) steuert die Standard-Zeichenkodierung, die Sass zum Laden von Quelldateien verwendet, die keine Zeichenkodierung explizit angeben. Standardmäßig wird die Standardkodierung des Betriebssystems verwendet.

$ sass --default-encoding=Shift-JIS style.scss style.css

--unix-newlines–unix-newlines Permalink

Dieses Flag weist Sass an, Ausgabedateien zu generieren, deren Zeilen durch das U+000A LINE FEED-Zeichen getrennt sind, im Gegensatz zum Standard des Betriebssystems (unter Windows sind dies U+000D CARRIAGE RETURN gefolgt von U+000A LINE FEED). Es ist auf Systemen, die standardmäßig Unix-ähnliche Zeilenenden verwenden, immer aktiv.

$ sass --unix-newlines style.scss style.css

--debug-info–debug-info Permalink

Dieses Flag (abgekürzt -g) veranlasst Sass, Dummy-@media-Abfragen auszugeben, die angeben, wo jede Stilregel im Quell- Stylesheet definiert wurde.

⚠️ Vorsicht!

Dieses Flag existiert nur aus Gründen der Abwärtskompatibilität. Quellkarten sind nun der empfohlene Weg, um CSS zurückzuverfolgen zum Sass, das es generiert hat.

$ sass --debug-info style.scss
@media -sass-debug-info{filename{font-family:file\:\/\/\/home\/style-wiz\/sassy-app\/style\.scss}line{font-family:\000031}}
h1 {
  font-size: 40px; }

--line-comments–line-comments Permalink

Dieses Flag (auch verfügbar als --line-numbers, abgekürzt -l) veranlasst Sass, Kommentare für jede Stilregel auszugeben, die angeben, wo jede Stilregel im Quell- Stylesheet definiert wurde.

$ sass --line-numbers style.scss
/* line 1, style.scss */
h1 {
  font-size: 40px; }

Weitere OptionenWeitere Optionen Permalink

--interactive–interactive Permalink

Dieses Flag (abgekürzt -i) weist Sass an, im interaktiven Modus ausgeführt zu werden, in dem Sie SassScript-Ausdrücke schreiben und deren Ergebnisse sehen können. Der interaktive Modus unterstützt auch Variablen.

$ sass --interactive
>> 1px + 1in
97px
>> $map: ("width": 100px, "height": 70px)
("width": 100px, "height": 70px)
>> map-get($map, "width")
100px

--check–check Permalink

Dieses Flag (abgekürzt -c) weist Sass an, die Syntax seiner Eingabedatei zu überprüfen, ohne diese Datei auszuführen. Wenn die Syntax gültig ist, wird mit dem Status 0 beendet. Es kann nicht im Viele-zu-viele-Modus  verwendet werden.

$ sass --check style.scss

--precision–precision Permalink

Diese Option teilt Sass mit, wie viele Nachkommastellen an Präzision beim Ausgeben von Dezimalzahlen verwendet werden sollen.

$ echo -e 'h1\n  font-size: (100px / 3)' | sass --precision=20
h1 {
  font-size: 33.333333333333336px; }

--cache-location–cache-location Permalink

Diese Option teilt Sass mit, wo der Cache für geparste Dateien gespeichert werden soll, damit es bei zukünftigen Aufrufen schneller ausgeführt werden kann. Der Standardwert ist .sass-cache.

$ sass --cache-location=/tmp/sass-cache style.scss style.css

--no-cache–no-cache Permalink

Dieses Flag (abgekürzt -C) weist Sass an, keine geparsten Dateien überhaupt zu cachen.

$ sass --no-cache style.scss style.css

--trace–trace Permalink

Dieses Flag weist Sass an, den vollständigen Ruby-Stacktrace auszugeben, wenn ein Fehler auftritt. Es wird vom Sass-Team zur Fehlerbehebung bei Fehlern verwendet.

Traceback (most recent call last):
        25: from /usr/share/gems/sass/bin/sass:13:in `<main>'
        24: from /usr/share/gems/sass/lib/sass/exec/base.rb:18:in `parse!'
        23: from /usr/share/gems/sass/lib/sass/exec/base.rb:50:in `parse'
        22: from /usr/share/gems/sass/lib/sass/exec/sass_scss.rb:63:in `process_result'
        21: from /usr/share/gems/sass/lib/sass/exec/sass_scss.rb:396:in `run'
        20: from /usr/share/gems/sass/lib/sass/engine.rb:290:in `render'
        19: from /usr/share/gems/sass/lib/sass/engine.rb:414:in `_to_tree'
        18: from /usr/share/gems/sass/lib/sass/scss/parser.rb:41:in `parse'
        17: from /usr/share/gems/sass/lib/sass/scss/parser.rb:137:in `stylesheet'
        16: from /usr/share/gems/sass/lib/sass/scss/parser.rb:697:in `block_contents'
        15: from /usr/share/gems/sass/lib/sass/scss/parser.rb:707:in `block_child'
        14: from /usr/share/gems/sass/lib/sass/scss/parser.rb:681:in `ruleset'
        13: from /usr/share/gems/sass/lib/sass/scss/parser.rb:689:in `block'
        12: from /usr/share/gems/sass/lib/sass/scss/parser.rb:697:in `block_contents'
        11: from /usr/share/gems/sass/lib/sass/scss/parser.rb:708:in `block_child'
        10: from /usr/share/gems/sass/lib/sass/scss/parser.rb:743:in `declaration_or_ruleset'
         9: from /usr/share/gems/sass/lib/sass/scss/parser.rb:820:in `try_declaration'
         8: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1281:in `rethrow'
         7: from /usr/share/gems/sass/lib/sass/scss/parser.rb:807:in `block in try_declaration'
         6: from /usr/share/gems/sass/lib/sass/scss/parser.rb:999:in `value!'
         5: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1161:in `sass_script'
         4: from /usr/share/gems/sass/lib/sass/script/parser.rb:68:in `parse'
         3: from /usr/share/gems/sass/lib/sass/script/parser.rb:855:in `assert_expr'
         2: from /usr/share/gems/sass/lib/sass/script/lexer.rb:240:in `expected!'
         1: from /usr/share/gems/sass/lib/sass/scss/parser.rb:1305:in `expected'
test.scss:1: Invalid CSS after "h1 {font-size: ": expected expression (e.g. 1px, bold), was "}" (Sass::SyntaxError)

--quiet–quiet Permalink

Dieses Flag (abgekürzt -q) weist Sass an, beim Kompilieren keine Warnungen auszugeben. Standardmäßig gibt Sass Warnungen aus, wenn veraltete Funktionen verwendet werden oder wenn die Regel @warn angetroffen wird. Es unterdrückt auch die Regel @debug.

$ sass --quiet style.scss style.css