cleaner output and fix missing rules in makefile
This commit is contained in:
parent
3a6587a3ef
commit
07a882a537
1 changed files with 29 additions and 30 deletions
59
Makefile
59
Makefile
|
@ -4,18 +4,23 @@
|
||||||
# From https://github.com/fcanas/bake/blob/master/Makefile
|
# From https://github.com/fcanas/bake/blob/master/Makefile
|
||||||
# Finally https://www.arsouyes.org/blog/2017/10_Static_website/
|
# Finally https://www.arsouyes.org/blog/2017/10_Static_website/
|
||||||
|
|
||||||
all: allatend
|
all: fast
|
||||||
SRC_DIR ?= src
|
SRC_DIR ?= src
|
||||||
DST_DIR ?= _site
|
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)/%
|
$(DST_DIR)/% : $(SRC_DIR)/%
|
||||||
mkdir -p "$(dir $@)"
|
@mkdir -p "$(dir $@)"
|
||||||
cp "$<" "$@"
|
cp "$<" "$@"
|
||||||
|
ALL += $(DST_RAW_FILES)
|
||||||
|
|
||||||
|
|
||||||
# ORG -> HTML
|
# 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, \
|
DST_PANDOC_FILES ?= $(subst $(EXT),.html, \
|
||||||
$(subst $(SRC_DIR),$(DST_DIR), \
|
$(subst $(SRC_DIR),$(DST_DIR), \
|
||||||
$(SRC_PANDOC_FILES)))
|
$(SRC_PANDOC_FILES)))
|
||||||
|
|
||||||
ALL += $(DST_PANDOC_FILES)
|
|
||||||
|
|
||||||
|
|
||||||
TEMPLATE ?= templates/post.html
|
TEMPLATE ?= templates/post.html
|
||||||
CSS = /css/y.css
|
CSS = /css/y.css
|
||||||
PANDOC := pandoc \
|
PANDOC := pandoc \
|
||||||
|
@ -36,21 +37,18 @@ PANDOC := pandoc \
|
||||||
--from org \
|
--from org \
|
||||||
--to html5 \
|
--to html5 \
|
||||||
--standalone
|
--standalone
|
||||||
|
|
||||||
|
|
||||||
$(DST_DIR)/%.html: $(SRC_DIR)/%.org $(TEMPLATE)
|
$(DST_DIR)/%.html: $(SRC_DIR)/%.org $(TEMPLATE)
|
||||||
mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(PANDOC) $< \
|
$(PANDOC) $< \
|
||||||
--output $@
|
--output $@
|
||||||
|
ALL += $(DST_PANDOC_FILES)
|
||||||
|
|
||||||
# HTML INDEX
|
# HTML INDEX
|
||||||
HTML_INDEX := $(DST_DIR)/index.html
|
HTML_INDEX := $(DST_DIR)/index.html
|
||||||
MKINDEX := engine/mk-index.sh
|
MKINDEX := engine/mk-index.sh
|
||||||
|
|
||||||
$(HTML_INDEX): $(DST_PANDOC_FILES) $(MKINDEX)
|
$(HTML_INDEX): $(DST_PANDOC_FILES) $(MKINDEX)
|
||||||
mkdir -p $(DST_DIR)
|
@mkdir -p $(DST_DIR)
|
||||||
$(MKINDEX)
|
$(MKINDEX)
|
||||||
|
|
||||||
ALL += $(HTML_INDEX)
|
ALL += $(HTML_INDEX)
|
||||||
|
|
||||||
# ORG -> GEMINI
|
# 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, \
|
DST_GMI_FILES ?= $(subst $(EXT),.gmi, \
|
||||||
$(subst $(SRC_DIR),$(DST_DIR), \
|
$(subst $(SRC_DIR),$(DST_DIR), \
|
||||||
$(SRC_GMI_FILES)))
|
$(SRC_GMI_FILES)))
|
||||||
|
|
||||||
ALL += $(DST_GMI_FILES)
|
|
||||||
GMI := engine/org2gemini.sh
|
GMI := engine/org2gemini.sh
|
||||||
|
|
||||||
$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI) engine/org2gemini_step1.sh
|
$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI) engine/org2gemini_step1.sh
|
||||||
mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(GMI) "$<" "$@"
|
$(GMI) "$<" "$@"
|
||||||
|
ALL += $(DST_GMI_FILES)
|
||||||
|
|
||||||
# GEMINI INDEX
|
# GEMINI INDEX
|
||||||
GMI_INDEX := $(DST_DIR)/index.gmi
|
GMI_INDEX := $(DST_DIR)/index.gmi
|
||||||
MK_GMI_INDEX := engine/mk-gemini-index.sh
|
MK_GMI_INDEX := engine/mk-gemini-index.sh
|
||||||
|
|
||||||
$(GMI_INDEX): $(DST_GMI_FILES) $(MK_GMI_INDEX)
|
$(GMI_INDEX): $(DST_GMI_FILES) $(MK_GMI_INDEX)
|
||||||
mkdir -p $(DST_DIR)
|
@mkdir -p $(DST_DIR)
|
||||||
$(MK_GMI_INDEX)
|
$(MK_GMI_INDEX)
|
||||||
|
|
||||||
ALL += $(GMI_INDEX)
|
ALL += $(GMI_INDEX)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Images
|
# 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))
|
DST_IMG_FILES ?= $(patsubst $(SRC_DIR)/%,$(DST_DIR)/%, $(SRC_IMG_FILES))
|
||||||
|
|
||||||
ALL += $(DST_IMG_FILES)
|
ALL += $(DST_IMG_FILES)
|
||||||
|
|
||||||
$(DST_DIR)/%.jpg: $(SRC_DIR)/%.jpg
|
$(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\> "$@"
|
convert "$<" -quality 50 -resize 800x800\> "$@"
|
||||||
|
|
||||||
$(DST_DIR)/%.gif: $(SRC_DIR)/%.gif
|
$(DST_DIR)/%.gif: $(SRC_DIR)/%.gif
|
||||||
mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
convert "$<" -quality 50 -resize 800x800\> "$@"
|
convert "$<" -quality 50 -resize 800x800\> "$@"
|
||||||
|
|
||||||
$(DST_DIR)/%.png: $(SRC_DIR)/%.png
|
$(DST_DIR)/%.png: $(SRC_DIR)/%.png
|
||||||
mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
convert "$<" -quality 50 -resize 800x800\> "$@"
|
convert "$<" -quality 50 -resize 800x800\> "$@"
|
||||||
|
|
||||||
# OPTIM PHASE
|
# OPTIM PHASE
|
||||||
|
@ -103,7 +102,7 @@ ENGINE_DIR ?= engine
|
||||||
ENGINE_SCRIPTS := $(shell find $(ENGINE_DIR) -type f)
|
ENGINE_SCRIPTS := $(shell find $(ENGINE_DIR) -type f)
|
||||||
OPTIM := engine/pre-deploy.sh
|
OPTIM := engine/pre-deploy.sh
|
||||||
$(OPTIM_DIR)/index.html:$(DST_RAW_FILES) $(DST_GMI_FILES) $(DST_PANDOC_FILES) $(HTML_INDEX) $(ENGINE_SCRIPTS) $(OPTIM)
|
$(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: $(OPTIM_DIR)/index.html
|
optim: $(OPTIM_DIR)/index.html
|
||||||
|
@ -115,7 +114,7 @@ deploy: $(OPTIM_DIR)/index.html
|
||||||
engine/sync.sh # deploy to her.esy.fun
|
engine/sync.sh # deploy to her.esy.fun
|
||||||
engine/ye-com-fastpublish.hs # deploy to yannesposito.com (via github pages)
|
engine/ye-com-fastpublish.hs # deploy to yannesposito.com (via github pages)
|
||||||
|
|
||||||
allatend: $(ALL)
|
fast: $(ALL)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue