我正在使用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
答案 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 > $@