update blog update blog update todo update blog correctly render fenced code blocks work on blog generation update blog script to deploy to local web server abs navigation links finish styling blog pages, start blog index update ppp generate blog index reverse blog index order update blog
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| SITE_NAME 		= ktyl.dev
 | |
| # configured in ~/.ssh/config
 | |
| HOST			= pluto
 | |
| # a script on the remote server to move it on arrival
 | |
| REMOTE_SCRIPT	= ./deploy-$(SITE_NAME)
 | |
| 
 | |
| SRC_DIR			= src
 | |
| IMG_DIR			= img
 | |
| OUT_DIR			= site
 | |
| 
 | |
| ROOT_DIR		= $(SRC_DIR)/root
 | |
| 
 | |
| BLOG_SRC_DIR	= blog/blogs
 | |
| BLOG_OUT_DIR	= $(OUT_DIR)/blog
 | |
| BLOG_TMP_DIR	= .blogtmp
 | |
| 
 | |
| PAGES 			= $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.html")
 | |
| STYLES			= $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.css")
 | |
| BLOG_PAGES		= $(shell find $(BLOG_SRC_DIR) -wholename "$(BLOG_SRC_DIR)*.md")
 | |
| 
 | |
| IMAGES			= $(shell find $(IMG_DIR) -wholename "$(IMG_DIR)/*.png")
 | |
| 
 | |
| HTML_INCLUDES 	= $(shell find $(SRC_DIR)/inc_html -name *.html)
 | |
| CSS_INCLUDES	= $(shell find $(SRC_DIR)/inc_css -name *.css)
 | |
| 
 | |
| BLOG_INDEX 			= $(OUT_DIR)/blog.html
 | |
| BLOG_INDEX_LINKS 	= $(BLOG_TMP_DIR)/blogindexlinks.html
 | |
| BLOG_TARGETS		= $(BLOG_PAGES:$(BLOG_SRC_DIR)/%.md=$(BLOG_OUT_DIR)/%.html)
 | |
| 
 | |
| HTML_TARGETS 	= $(PAGES:$(ROOT_DIR)/%.html=$(OUT_DIR)/%.html)
 | |
| CSS_TARGETS 	= $(STYLES:$(ROOT_DIR)/%.css=$(OUT_DIR)/%.css)
 | |
| PNG_TARGETS		= $(IMG_DIR)/%.png=$(OUT_DIR)/%.png
 | |
| 
 | |
| site: $(HTML_TARGETS) $(CSS_TARGETS)
 | |
| 	cp $(IMG_DIR)/*.png $(OUT_DIR)/
 | |
| 
 | |
| run: site
 | |
| 
 | |
| deploy: site
 | |
| 	cp -r $(OUT_DIR) $(SITE_NAME)
 | |
| 	rsync -rP $(SITE_NAME) $(HOST):~
 | |
| 	rm -r $(SITE_NAME)
 | |
| 	ssh $(HOST) "sudo $(REMOTE_SCRIPT)"
 | |
| 
 | |
| $(OUT_DIR)/%.html: $(ROOT_DIR)/%.html $(HTML_INCLUDES)
 | |
| 	mkdir -p $(OUT_DIR)
 | |
| 	python ppp/ppp.py $< $(HTML_INCLUDES) > $@
 | |
| 
 | |
| blog: $(BLOG_TARGETS) | $(BLOG_TMP_DIR)
 | |
| 
 | |
| blog-index: $(BLOG_INDEX)
 | |
| 
 | |
| $(BLOG_INDEX_LINKS): $(BLOG_TARGETS) | $(BLOG_TMP_DIR)
 | |
| 	python scripts/mkblogindex.py $(BLOG_TARGETS) > $@
 | |
| 
 | |
| $(BLOG_OUT_DIR)/%.html: $(BLOG_OUT_DIR)/%.html.tmp $(HTML_INCLUDES) $(CSS_TARGETS)
 | |
| 	python ppp/ppp.py $< $(HTML_INCLUDES) > $@
 | |
| 	cp $(CSS_TARGETS) `dirname $@`
 | |
| 	rm $<
 | |
| 
 | |
| $(BLOG_OUT_DIR)/%.html.tmp: $(BLOG_SRC_DIR)/%.md | $(BLOG_TMP_DIR) 
 | |
| 	python scripts/mkblog.py $< $@
 | |
| 
 | |
| $(BLOG_OUT_DIR): | $(OUT_DIR)
 | |
| 	mkdir -p $@
 | |
| 
 | |
| $(BLOG_TMP_DIR):
 | |
| 	mkdir -p $@
 | |
| 
 | |
| $(OUT_DIR)/%.html: $(ROOT_DIR)/%.html $(HTML_INCLUDES) $(BLOG_INDEX_LINKS) | $(OUT_DIR)
 | |
| 	python ppp/ppp.py $< $(HTML_INCLUDES) $(BLOG_INDEX_LINKS) > $@
 | |
| 
 | |
| $(OUT_DIR)/%.css: $(ROOT_DIR)/%.css $(CSS_INCLUDES) | $(OUT_DIR)
 | |
| 	python ppp/ppp.py $< $(CSS_INCLUDES) > $@
 | |
| 
 | |
| $(OUT_DIR):
 | |
| 	mkdir -p $@
 | |
| 
 | |
| clean:
 | |
| 	rm -rf $(OUT_DIR) $(BLOG_TMP_DIR)
 | |
| 
 | |
| .PHONY: site
 | |
| 
 |