From cfa66c5ec0fe8d948df16bf3ce17291e9913b2a8 Mon Sep 17 00:00:00 2001 From: Volpeon Date: Mon, 20 Jun 2022 18:32:44 +0200 Subject: Add hash to more assets --- Makefile | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d8dc0db..ede169e 100644 --- a/Makefile +++ b/Makefile @@ -21,19 +21,20 @@ FEED_FILES := $(patsubst content/%.md,out/%.xml,$(FEED_SRC)) FONT_FILES := $(patsubst assets/fonts/%.ttf,out/%.woff2,$(wildcard assets/fonts/*.ttf)) CSS_FILES := $(patsubst assets/css/%.scss,out/%.css,$(wildcard assets/css/style.scss)) STATIC_FILES := $(patsubst content/%,out/%,$(shell find content -type f ! -name "*.md")) +ASSET_FILES := $(FONT_FILES) $(CSS_FILES) out/icons.svg $(patsubst content/%,out/%,$(shell find content -maxdepth 1 -type f ! -name "*.md")) # # TARGETS # -all: content_meta content_files feed_files static_files font_files css_files icons +all: content_meta content_files feed_files font_files css_files static_files content_meta: $(CONTENT_META) content_files: $(CONTENT_FILES) feed_files: $(FEED_FILES) -static_files: $(STATIC_FILES) font_files: $(FONT_FILES) css_files: $(CSS_FILES) +static_files: $(STATIC_FILES) # # RULES @@ -65,6 +66,7 @@ subpages = $(patsubst content/%.md,.cache/meta/%.json, \ --metadata-file "$@.pages" \ $(PANDOC_FILTERS) \ -o "$@.meta" "$<" + rm "$@.pages" pandoc \ -f markdown-citations-implicit_figures \ -t html5 \ @@ -77,11 +79,13 @@ subpages = $(patsubst content/%.md,.cache/meta/%.json, \ $(PANDOC_FILTERS) \ -o "$@.content" "$<" jq '. + { content: $$content }' --rawfile content "$@.content" "$@.meta" > "$@" - rm "$@.pages" rm "$@.meta" rm "$@.content" -out/%.html: content/%.md .cache/meta/%.json $(CONTENT_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/metadata_filter.lua out/style.css | out +.cache/assets.json: $(ASSET_FILES) | .cache + sha256sum $^ | sed -r 's/([0-9a-f]+) +out\/(.*)/{ "\2": "\/\2?\1" }/' | jq '{ assets: [inputs] | add | with_entries( .key |= gsub( "\\."; "_") ) }' > "$@" + +out/%.html: content/%.md .cache/meta/%.json .cache/assets.json $(CONTENT_TEMPLATES_SRC) metadata/*.yaml filters/*.lua scripts/metadata_filter.lua | out $(info [MARK] $< -> $@) mkdir -p $(@D) @@ -93,9 +97,9 @@ out/%.html: content/%.md .cache/meta/%.json $(CONTENT_TEMPLATES_SRC) metadata/*. --template templates/base.html \ --lua-filter scripts/metadata_filter.lua \ $(GLOBAL_METADATA) \ + --metadata-file .cache/assets.json \ --metadata-file "$(filter .cache/meta/%.json,$^)" \ --metadata file_out="$@" \ - --metadata style_hash="$(shell sha256sum out/style.css | cut -d ' ' -f 1)" \ $(PANDOC_FILTERS) \ -o "$@" "$<" @@ -140,14 +144,8 @@ out/%.css: assets/css/%.scss $(CSS_SRC) | out sass --load-path=node_modules "$<" | ./node_modules/.bin/postcss --use autoprefixer --no-map -o "$@" -out/%: content/% | out - $(info [COPY] $< -> $@) - - mkdir -p $(@D) - cp "$<" "$@" - -icons: | out - $(info [ICON] out/icons.svg) +out/icons.svg: | out + $(info [ICON] $@) node ./node_modules/iro-icons/scripts/create_sprite.js \ asterisk \ @@ -168,7 +166,16 @@ icons: | out x \ chevron-left \ chevron-right \ - "out/icons.svg" + "$@" + +out/%: content/% | out + $(info [COPY] $< -> $@) + + mkdir -p $(@D) + cp "$<" "$@" + +.cache/hash: | .cache + mkdir -p .cache/hash .cache/meta: | .cache mkdir -p .cache/meta -- cgit v1.2.3-70-g09d2