jade使用makefile输出路径目录

时间:2012-06-20 06:16:26

标签: html makefile pug

我正在使用makefile将jade文件编译成html。我应该如何使用jade选项修改此行,以便我的最终index.html在目录中是一级,而不是与jade文件在同一文件夹中?目前,我在文件夹jade中有index.html。

%.html: %.jade
    jade < $< --out $< --path $< --pretty > $@

我希望文件夹结构如下:

|--jade
   |--index.jade
|--index.html

我不希望我的文件夹结构如下:

|--jade
   |--index.jade
   |--index.html

我的整个makefile包括:

JADE = $(shell find jade/*.jade)
HTML = $(JADE:.jade=.html)

all: $(HTML)

%.html: %.jade
    jade < $< --out $< --path $< --pretty > $@

clean:
    rm -f $(HTML)

.PHONY: clean

1 个答案:

答案 0 :(得分:2)

如果您希望所有 html文件进入一级目录:

JADE = $(shell find jade/*.jade)
HTML = $(patsubst jade/%.jade, %.html, $(JADE))

all: $(HTML)

%.html: jade/%.jade
    jade < $< --out $< --path $< --pretty > $@

如果您希望index.html进入上层目录,但是所有其他html文件都会进入jade/

JADE = $(shell find jade/*.jade)
HTML := $(JADE:.jade=.html)
HTML := $(subst jade/index.html, index.html, $(HTML))

all: $(HTML)

%.html: %.jade
    jade < $< --out $< --path $< --pretty > $@

index.html: jade/index.jade
    jade < $< --out $< --path $< --pretty > $@

如果许多 html文件应该进入上层目录,您可以按照自己喜欢的方式构建HTML列表,然后:

%.html: %.jade
    jade < $< --out $< --path $< --pretty > $@

%.html: jade/%.jade
    jade < $< --out $< --path $< --pretty > $@