0

我正在使用makefile将jade文件编译成html。我应该如何用翡翠选项修改这一行,以便我的最终 index.html 在目录中的上一级,而不是在与翡翠文件相同的文件夹中?目前,我在文件夹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
4

1 回答 1

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 > $@
于 2012-06-20T16:30:28.330 回答