51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| SRC_DIR		= ./blogs
 | |
| OUT_DIR		= out/
 | |
| HTML_DIR 	= $(OUT_DIR)html
 | |
| GEMINI_DIR	= $(OUT_DIR)gemini
 | |
| 
 | |
| MAKE_GEMINI		= build/markdown2gemini.py
 | |
| MAKE_HTML 		= build/page.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)
 | |
| 
 | |
| IMAGES		= $(shell find $(SRC_DIR) -wholename "$(SRC_DIR)*.png" -o -wholename "$(SRC_DIR)*.jpg")
 | |
| PNG_TARGETS	= $(IMAGES:$(SRC_DIR)/%.png=$(HTML_DIR)/%.png)
 | |
| JPG_TARGETS	= $(IMAGES:$(SRC_DIR)/%.jpg=$(HTML_DIR)/%.jpg)
 | |
| IMAGE_TARGETS = $(PNG_TARGETS) $(JPG_TARGETS)
 | |
| 
 | |
| _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)
 |