2013-03-19 13 views
5

Ich habe vor kurzem Jade entdeckt und möchte es für eine neue statische Website ausprobieren. Ich mag die knappe Syntax und die Templating-Funktionen, also viel besser als HTML. Ich bearbeite in Webstorm 6, das Dateiwächter unterstützt, und kann z. Sass aus der Box. Ich habe in der Lage Jade über die Kommandozeile ausführen, um meine Jade Dateien zu sehen:Jade in Webstorm unter Windows automatisch kompilieren

jade --watch --out public jade 

ich jetzt versuche, mein Projekt in WebStorm konfigurieren dies automatisch zu handhaben, und ich laufe in Probleme.

Damit die Quelldateien aus den generierten diejenigen trennen, ich bin mit dem Ziel für ein Layout wie folgt aus:

  • Wurzel
    • Jade
      • index.jade
      • subdir
        • subdir.jade
    • öffentliche
      • index.html
      • subdir
        • subdir.html

Mit dem Feld Argumente gesetzt, wie:

--out $ProjectFileDir$\public\$FileNameWithoutExtension$.html $FileDir$\$FileName$ 

mit zu beginnen, ich habe folgendes in meinem jade Ordner:

  • index.jade
  • subdir
    • index.jade

Die Ergebnis in meinem public fo lder ist:

  • index.html (Ordner)
    • index.html (Datei)
  • subdir.html (Ordner)
    • subdir.html (Datei)

Dies ist das erste Mal, dass ich versucht habe, die Datei watc zu verwenden ihre Funktion und die verfügbaren Makros verwirren mich. Hat jemand mit Erfahrung in einer ähnlichen Situation irgendwelche Vorschläge?

Antwort

24

jade --out Option gibt das Verzeichnis an, nicht die Datei:

-O, --out <dir> output the compiled html to <dir> 

die Verzeichnisstruktur beizubehalten Sie $FileDirPathFromParent$ Makro verwenden, die einen Parameter annimmt.

Zum Beispiel für die C:\project\public\jade\subdir\subdir.jade Datei wir müssen den Pfad zurückzukehren Recht auf jade Verzeichnis, das wäre der Parameter für das Makro sein: $FileDirPathFromParent(jade)$, und das Ergebnis wäre subdir sein.

Nun, wenn Sie das Arbeitsverzeichnis gesetzt-$FileDir$, die Argumente wäre:

$FileName$ --out $ProjectFileDir$\public\$FileDirPathFromParent(jade)$ 

Und die komplette Jade Datei Watcher für dieses spezielle Projekt-Layout würde wie folgt aussehen:

Jade file watcher

+0

Das funktionierte, aber brachte ein neues Problem auf - die Verzeichnisstruktur "public" wurde abgeflacht. 'index.html' und' subdir.html' erscheinen nebeneinander im 'public directory'. Ich hatte gehofft, Verzeichnisstruktur aufrechtzuerhalten ... Irgendwelche Vorschläge? –

+1

Ich habe die Antwort aktualisiert, es erwies sich als trickreicher, vor allem mit der fehlenden Dokumentation für das '$ FileDirPathFromParent $' Makro, musste nach den [Tests im IDE Quellcode] suchen (https: // github. com/JetBrains/intellij-community/blob/master/plattform/lang-impl/testSources/com/intelli/ide/macro/MacroManagerTest.java # L57). – CrazyCoder

+0

Das hat es behoben. Funktioniert auch mit Unterverzeichnissen, sieht also gut aus! Die Dokumentation, die ich bei der Erstellung von Beobachtern sah, war ziemlich spärlich, und ich hatte den von Ihnen bereitgestellten Link sicher nicht gefunden. Jetzt bin ich dabei, das Jade-System herauszufinden. –

Verwandte Themen