0

makefileを使用して、jade ファイルを html にコンパイルしています。この行を jade オプションでどのように修正すれば、最終的な index.html が jade ファイルと同じフォルダーではなく、ディレクトリの 1 レベル上にあるようになりますか? 現在、フォルダー jade 内に index.html があります。

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

フォルダ構造を次のようにしたいと思います。

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

フォルダー構造を次のようにしたくありません。

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

私のメイクファイル全体には以下が含まれます:

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ファイルを1レベル上のディレクトリに配置する場合:

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 に答える