2013-03-19 4 views
5

Недавно я обнаружил Jade и хочу попробовать попробовать новый статический веб-сайт. Мне нравится краткий синтаксис и возможности шаблонов, намного лучше, чем необработанный HTML. Я редактирую в Webstorm 6, который поддерживает файловые наблюдатели и может работать, например. Сасс из коробки. Я был в состоянии работать Джейд смотреть мои файлы Jade через командную строку:Авто-компиляция Jade в Webstorm на Windows

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.

Теперь, если вы установите каталог рабочую к $FileDir$, в Аргументы будет:

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

И полная Джейд Файл Watcher для данного конкретного макета проекта будет выглядеть следующим образом:

Jade file watcher

+0

Это сработало, но возникла новая проблема - структура каталога 'public' сглажена. 'index.html' и' subdir.html' появляются бок о бок в 'public directory'. Я надеялся сохранить структуру каталогов ... Любые предложения? –

+1

Я обновил ответ, оказалось более сложным, особенно с отсутствующей документацией для макроса '$ FileDirPathFromParent $', пришлось искать [тесты в исходном коде IDE] (https: // github. ком/JetBrains/IntelliJ-сообщество/BLOB/Master/платформа/Ланг-осущ/testSources/ком/IntelliJ/язь/макро/MacroManagerTest.java # L57). – CrazyCoder

+0

Это исправлено. Также работает с суб-каталогами, поэтому выглядит хорошо! Документация, которую я видел при создании наблюдателей, была довольно редкой, и я, конечно же, не нашел ссылку, которую вы предоставили. Теперь я собираюсь выяснить систему Джейд. –

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