Add thumbnails
This commit is contained in:
@@ -9,10 +9,13 @@ DIST_DIR ?= dist
|
||||
# Temporary build artifacts
|
||||
BUILD_DIR ?= build
|
||||
|
||||
THUMB_DIR := $(DIST_DIR)/thumbs
|
||||
|
||||
images := $(shell find $(IMAGE_DIR) -iname '*.jpg')
|
||||
image_names_cs := $(notdir $(images))
|
||||
image_names := $(shell echo $(image_names_cs) | tr A-Z a-z)
|
||||
dist_images := $(addprefix $(DIST_DIR)/,$(image_names))
|
||||
dist_thumbs := $(patsubst $(DIST_DIR)/%.jpg,$(THUMB_DIR)/%.webp,$(dist_images))
|
||||
|
||||
extra_files := $(wildcard extra/*)
|
||||
dist_extra_files := $(extra_files:%=dist/%)
|
||||
@@ -28,7 +31,7 @@ dist_html := $(dist_images:$(DIST_DIR)/%.jpg=$(DIST_DIR)/%.html)
|
||||
|
||||
### RULES ###
|
||||
|
||||
all: $(dist_html) $(dist_extra_files) $(DIST_DIR)/index.html
|
||||
all: $(dist_images) $(dist_thumbs) $(dist_extra_files) $(dist_html) $(DIST_DIR)/all.zip $(DIST_DIR)/index.html
|
||||
|
||||
clean-dist:
|
||||
rm -rf $(DIST_DIR)
|
||||
@@ -38,21 +41,29 @@ clean: clean-dist
|
||||
|
||||
$(foreach f,$(image_names),$(eval $(call copy_image_rule,$(f))))
|
||||
|
||||
$(THUMB_DIR)/%.webp: $(DIST_DIR)/%.jpg
|
||||
@mkdir -p $(THUMB_DIR)
|
||||
magick $< -strip -thumbnail 300x300 $@
|
||||
|
||||
$(BUILD_DIR)/index.json: $(build_metas) build-index.py
|
||||
./build-index.py $(filter-out build-index.py,$^) > $@
|
||||
|
||||
$(BUILD_DIR)/%.meta.json: $(DIST_DIR)/%.jpg extract-metadata.py
|
||||
$(BUILD_DIR)/%.meta.json: $(DIST_DIR)/%.jpg $(THUMB_DIR)/%.webp extract-metadata.py
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
./extract-metadata.py --root $(DIST_DIR) --dist-path $(patsubst $(BUILD_DIR)/%.meta.json,$(DIST_DIR)/%.html,$@) --key $(patsubst $(BUILD_DIR)/%.meta.json,%,$@) $< > $@
|
||||
./extract-metadata.py --root $(DIST_DIR) --dist-path $(patsubst $(BUILD_DIR)/%.meta.json,$(DIST_DIR)/%.html,$@) --key $(patsubst $(BUILD_DIR)/%.meta.json,%,$@) --thumbnail $(patsubst $(BUILD_DIR)/%.meta.json,$(THUMB_DIR)/%.webp,$@) $< > $@
|
||||
|
||||
$(DIST_DIR)/index.html: $(BUILD_DIR)/index.json index.hbs
|
||||
@mkdir -p $(DIST_DIR)
|
||||
handlebars-cli index.hbs "$$(cat $(BUILD_DIR)/index.json)" > $@
|
||||
handlebars-cli index.hbs @$(BUILD_DIR)/index.json > $@
|
||||
|
||||
$(DIST_DIR)/%.html: $(BUILD_DIR)/%.meta.json $(BUILD_DIR)/index.json photo.hbs
|
||||
@mkdir -p $(DIST_DIR)
|
||||
handlebars-cli photo.hbs "$$(cat $(BUILD_DIR)/index.json | jq .$(patsubst $(BUILD_DIR)/%.meta.json,%,$<))" > $@
|
||||
cat $(BUILD_DIR)/index.json | jq .index.$(patsubst $(BUILD_DIR)/%.meta.json,%,$<) | handlebars-cli photo.hbs @/dev/stdin > $@
|
||||
|
||||
$(DIST_DIR)/extra/%: extra/%
|
||||
@mkdir -p $(DIST_DIR)/extra
|
||||
cp -r $< $@
|
||||
|
||||
$(DIST_DIR)/all.zip: $(dist_images)
|
||||
@mkdir -p $(DIST_DIR)
|
||||
zip --junk-paths $@ $^
|
||||
|
||||
Reference in New Issue
Block a user