SRC_DIR		= ./blogs
OUT_DIR		= out/
HTML_DIR 	= $(OUT_DIR)html
GEMINI_DIR	= $(OUT_DIR)gemini
MAKE_GEMINI		= build/markdown2gemini.py
MAKE_HTML 		= build/markdown2html.py
MAKE_RSS		= build/rss.py
MAKE_HTML_INDEX	= build/index.py
PAGES = $(shell find $(SRC_DIR) -wholename "$(BLOG_SRC_DIR)*.md")
HTML_TARGETS 	= $(PAGES:$(SRC_DIR)/%.md=$(HTML_DIR)/%.html)
HTML_RSS		= $(HTML_DIR)/index.xml
HTML_INDEX		= $(HTML_DIR)/index.html
GEMINI_TARGETS	= $(PAGES:$(SRC_DIR)/%.md=$(GEMINI_DIR)/%.gmi)
_dummy := $(shell mkdir -p $(HTML_DIR) $(GEMINI_DIR))
$(HTML_DIR)/%.html: $(SRC_DIR)/%.md
	pipenv run python $(MAKE_HTML) $< $@
$(HTML_RSS): $(PAGES)
	pipenv run python $(MAKE_RSS) $(PAGES) > $@
$(HTML_INDEX): $(HTML_TARGETS)
	pipenv run python $(MAKE_HTML_INDEX) $(HTML_TARGETS) > $@
$(HTML_DIR)/%.png: $(SRC_DIR)/%.png
	mkdir -p $(shell dirname $@)
	cp $< $@
$(HTML_DIR)/%.jpg: $(SRC_DIR)/%.jpg
	mkdir -p $(shell dirname $@)
	cp $< $@
html: $(HTML_TARGETS) $(HTML_RSS) $(HTML_INDEX) $(IMAGE_TARGETS)
gemini:
all: html gemini
clean:
	rm -r $(OUT_DIR)