2013-03-19 79 views
5

我最近發現翡翠,並希望嘗試一個新的靜態網站。我喜歡簡潔的語法和模板功能,比原始HTML好多了。我正在編輯Webstorm 6,它支持文件觀察者,並且可以運行Sass開箱即用。我已經能夠通過命令行運行玉看我的玉文件:在Windows上的Webstorm自動編譯012

jade --watch --out public jade 

我現在想在Webstorm配置我的項目自動處理這個問題,而且我遇到了問題。

要保持文件從生成們分開的來源,我的目標是這樣一個佈局:

      • index.jade
      • 子目錄
        • subdir.jade
    • 公共
      • 的index.html
      • 子目錄
        • subdir.html

隨着參數字段設置爲:

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

首先,我有我的jade文件夾中的以下內容:

  • index.jade
  • 子目錄
    • index.jade

的導致我的public fo lder連續是:

  • index.html的(文件夾)
    • index.html的(文件)
  • subdir.html(文件夾)
    • subdir.html(文件)

這是我第一次嘗試使用文件watc她的功能,以及可用的宏都讓我感到困惑。有類似情況的經驗的人有什麼建議嗎?

回答

24

jade --out選項指定的目錄,而不是文件:

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

要保留目錄結構,你將不得不使用$FileDirPathFromParent$宏需要一個參數。

例如,對於C:\project\public\jade\subdir\subdir.jade文件,我們需要它的路徑返回正確的jade目錄,這將是宏的參數:$FileDirPathFromParent(jade)$,其結果將是subdir

現在,如果你設置的工作目錄到​​,該參數將是:

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

以及完整的玉文件守望者爲這一具體項目佈局應該是這樣的:

Jade file watcher

+0

工作,但帶來了一個新問題 - 「公共」目錄結構是扁平的。 'index.html'和'subdir.html'並排顯示在'public directory'中。我曾希望維護目錄結構......有什麼建議嗎? – 2013-03-19 18:08:03

+1

我已經更新了答案,結果更加棘手,尤其是''FileDirPathFromParent $'宏的缺失文檔,必須查找[IDE源代碼中的測試](https:// github。 COM/JetBrains公司/的IntelliJ社區/ BLOB /主/平臺/郎IMPL/testSources/COM /的IntelliJ/IDE /微距/ MacroManagerTest.java#L57)。 – CrazyCoder 2013-03-19 21:44:08

+0

修復它。也適用於子目錄,所以看起來不錯!我在創建觀察者時看到的文檔很少,我當然沒有找到你提供的鏈接。現在我開始計算Jade系統。 – 2013-03-20 05:27:02