From 07a882a537b5f789f8bdf88f252848dc96c71f60 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Thu, 6 May 2021 10:01:07 +0200 Subject: [PATCH] cleaner output and fix missing rules in makefile --- Makefile | 59 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index 727ba69..b0f72cc 100644 --- a/Makefile +++ b/Makefile @@ -4,18 +4,23 @@ # From https://github.com/fcanas/bake/blob/master/Makefile # Finally https://www.arsouyes.org/blog/2017/10_Static_website/ -all: allatend +all: fast SRC_DIR ?= src DST_DIR ?= _site -NO_DRAFT := -not -path '$(SRC_DIR)/drafts/*' ! -name '*.jpg' ! -name '*.png' -SRC_RAW_FILES := $(shell find $(SRC_DIR) -type f $(NO_DRAFT)) -DST_RAW_FILES := $(patsubst $(SRC_DIR)/%,$(DST_DIR)/%,$(SRC_RAW_FILES)) -ALL += $(DST_RAW_FILES) -# COPY EVERYTHING +# we don't want to publish files in drafts +NO_DRAFT := -not -path '$(SRC_DIR)/drafts/*' +# we don't copy source files, nor images, they are transformed +NO_SRC_FILE := ! -name '*.org' ! -name '*.jpg' ! -name '*.png' ! -name '*.jpeg' ! -name '*.gif' + + +# ASSETS +SRC_RAW_FILES := $(shell find $(SRC_DIR) -type f $(NO_DRAFT) $(NO_SRC_FILE)) +DST_RAW_FILES := $(patsubst $(SRC_DIR)/%,$(DST_DIR)/%,$(SRC_RAW_FILES)) $(DST_DIR)/% : $(SRC_DIR)/% - mkdir -p "$(dir $@)" + @mkdir -p "$(dir $@)" cp "$<" "$@" +ALL += $(DST_RAW_FILES) # ORG -> HTML @@ -24,10 +29,6 @@ SRC_PANDOC_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)" $(NO_DRAFT)) DST_PANDOC_FILES ?= $(subst $(EXT),.html, \ $(subst $(SRC_DIR),$(DST_DIR), \ $(SRC_PANDOC_FILES))) - -ALL += $(DST_PANDOC_FILES) - - TEMPLATE ?= templates/post.html CSS = /css/y.css PANDOC := pandoc \ @@ -36,21 +37,18 @@ PANDOC := pandoc \ --from org \ --to html5 \ --standalone - - $(DST_DIR)/%.html: $(SRC_DIR)/%.org $(TEMPLATE) - mkdir -p $(dir $@) + @mkdir -p $(dir $@) $(PANDOC) $< \ --output $@ +ALL += $(DST_PANDOC_FILES) # HTML INDEX HTML_INDEX := $(DST_DIR)/index.html MKINDEX := engine/mk-index.sh - $(HTML_INDEX): $(DST_PANDOC_FILES) $(MKINDEX) - mkdir -p $(DST_DIR) + @mkdir -p $(DST_DIR) $(MKINDEX) - ALL += $(HTML_INDEX) # ORG -> GEMINI @@ -59,41 +57,42 @@ SRC_GMI_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)" $(NO_DRAFT)) DST_GMI_FILES ?= $(subst $(EXT),.gmi, \ $(subst $(SRC_DIR),$(DST_DIR), \ $(SRC_GMI_FILES))) - -ALL += $(DST_GMI_FILES) GMI := engine/org2gemini.sh - $(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI) engine/org2gemini_step1.sh - mkdir -p $(dir $@) + @mkdir -p $(dir $@) $(GMI) "$<" "$@" +ALL += $(DST_GMI_FILES) # GEMINI INDEX GMI_INDEX := $(DST_DIR)/index.gmi MK_GMI_INDEX := engine/mk-gemini-index.sh - $(GMI_INDEX): $(DST_GMI_FILES) $(MK_GMI_INDEX) - mkdir -p $(DST_DIR) + @mkdir -p $(DST_DIR) $(MK_GMI_INDEX) - ALL += $(GMI_INDEX) + # Images -SRC_IMG_FILES ?= $(shell find $(SRC_DIR) -type f -name "*.jpg" -or -name "*.gif" -or -name "*.png") +SRC_IMG_FILES ?= $(shell find $(SRC_DIR) -type f -name "*.jpg" -or -name "*.jpeg" -or -name "*.gif" -or -name "*.png") DST_IMG_FILES ?= $(patsubst $(SRC_DIR)/%,$(DST_DIR)/%, $(SRC_IMG_FILES)) ALL += $(DST_IMG_FILES) $(DST_DIR)/%.jpg: $(SRC_DIR)/%.jpg - mkdir -p $(dir $@) + @mkdir -p $(dir $@) + convert "$<" -quality 50 -resize 800x800\> "$@" + +$(DST_DIR)/%.jpg: $(SRC_DIR)/%.jpeg + @mkdir -p $(dir $@) convert "$<" -quality 50 -resize 800x800\> "$@" $(DST_DIR)/%.gif: $(SRC_DIR)/%.gif - mkdir -p $(dir $@) + @mkdir -p $(dir $@) convert "$<" -quality 50 -resize 800x800\> "$@" $(DST_DIR)/%.png: $(SRC_DIR)/%.png - mkdir -p $(dir $@) + @mkdir -p $(dir $@) convert "$<" -quality 50 -resize 800x800\> "$@" # OPTIM PHASE @@ -103,7 +102,7 @@ ENGINE_DIR ?= engine ENGINE_SCRIPTS := $(shell find $(ENGINE_DIR) -type f) OPTIM := engine/pre-deploy.sh $(OPTIM_DIR)/index.html:$(DST_RAW_FILES) $(DST_GMI_FILES) $(DST_PANDOC_FILES) $(HTML_INDEX) $(ENGINE_SCRIPTS) $(OPTIM) - mkdir -p $(OPTIM_DIR) + @mkdir -p $(OPTIM_DIR) $(OPTIM) optim: $(OPTIM_DIR)/index.html @@ -115,7 +114,7 @@ deploy: $(OPTIM_DIR)/index.html engine/sync.sh # deploy to her.esy.fun engine/ye-com-fastpublish.hs # deploy to yannesposito.com (via github pages) -allatend: $(ALL) +fast: $(ALL) .PHONY: clean