| 
									
										
										
										
											2022-03-21 14:08:38 +00:00
										 |  |  | 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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | SRC_DIR			= src | 
					
						
							| 
									
										
										
										
											2021-10-11 00:29:58 +01:00
										 |  |  | IMG_DIR			= img | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | OUT_DIR			= site | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ROOT_DIR		= $(SRC_DIR)/root | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-11 12:20:04 +00:00
										 |  |  | BLOG_BASE_DIR	= blog/ | 
					
						
							|  |  |  | BLOG_BUILD_DIR	= $(BLOG_BASE_DIR)out/html/ | 
					
						
							| 
									
										
										
										
											2022-01-05 00:54:43 +00:00
										 |  |  | BLOG_OUT_DIR	= $(OUT_DIR)/blog | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | BLOG_INDEX		= $(BLOG_BUILD_DIR)/index.html | 
					
						
							| 
									
										
										
										
											2022-01-05 00:54:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-07 00:22:34 +00:00
										 |  |  | VN = src/vn/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | PAGES 			= $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.html") | 
					
						
							|  |  |  | STYLES			= $(shell find $(ROOT_DIR) -wholename "$(ROOT_DIR)*.css") | 
					
						
							| 
									
										
										
										
											2021-10-11 00:29:58 +01:00
										 |  |  | 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) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HTML_TARGETS 	= $(PAGES:$(ROOT_DIR)/%.html=$(OUT_DIR)/%.html) | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | CSS_TARGETS 	= $(STYLES:$(ROOT_DIR)/%.css=$(OUT_DIR)/%.css) | 
					
						
							| 
									
										
										
										
											2021-10-11 00:29:58 +01:00
										 |  |  | PNG_TARGETS		= $(IMG_DIR)/%.png=$(OUT_DIR)/%.png | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-07 00:22:34 +00:00
										 |  |  | all: html blog vn | $(OUT_DIR) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | vn: $(VN) | $(OUT_DIR) | 
					
						
							|  |  |  | 	cp -r $(VN) $(OUT_DIR)/vn | 
					
						
							| 
									
										
										
										
											2022-12-24 18:38:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | html: $(HTML_TARGETS) $(CSS_TARGETS) | $(OUT_DIR) | 
					
						
							| 
									
										
										
										
											2021-10-11 00:29:58 +01:00
										 |  |  | 	cp $(IMG_DIR)/*.png $(OUT_DIR)/ | 
					
						
							| 
									
										
										
										
											2022-06-04 19:33:35 +01:00
										 |  |  | 	cp $(IMG_DIR)/*.jpg $(OUT_DIR)/ | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | deploy: | 
					
						
							| 
									
										
										
										
											2022-03-21 14:08:38 +00:00
										 |  |  | 	cp -r $(OUT_DIR) $(SITE_NAME) | 
					
						
							|  |  |  | 	rsync -rP $(SITE_NAME) $(HOST):~ | 
					
						
							|  |  |  | 	rm -r $(SITE_NAME) | 
					
						
							|  |  |  | 	ssh $(HOST) "sudo $(REMOTE_SCRIPT)" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | $(OUT_DIR)/%.html: $(ROOT_DIR)/%.html $(HTML_INCLUDES) $(BLOG_INDEX) | $(OUT_DIR) | 
					
						
							|  |  |  | 	python ppp/ppp.py $< $(HTML_INCLUDES) $(BLOG_INDEX) > $@ | 
					
						
							| 
									
										
										
										
											2021-09-13 00:06:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-03 16:12:32 +01:00
										 |  |  | $(OUT_DIR)/%.css: $(ROOT_DIR)/%.css $(CSS_INCLUDES) | $(OUT_DIR) | 
					
						
							|  |  |  | 	python ppp/ppp.py $< $(CSS_INCLUDES) > $@ | 
					
						
							| 
									
										
										
										
											2022-01-05 00:54:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-03 16:12:32 +01:00
										 |  |  | $(OUT_DIR): | 
					
						
							|  |  |  | 	mkdir -p $@ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | $(BLOG_INDEX): | 
					
						
							|  |  |  | 	mkdir -p $(BLOG_OUT_DIR) | 
					
						
							| 
									
										
										
										
											2023-03-11 12:20:04 +00:00
										 |  |  | 	make --directory $(BLOG_BASE_DIR) html | 
					
						
							| 
									
										
										
										
											2022-01-05 00:54:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | # make blog from submodule and apply site templating
 | 
					
						
							|  |  |  | blog: $(HTML_INCLUDES) $(CSS_TARGETS) | 
					
						
							|  |  |  | 	mkdir -p $(BLOG_OUT_DIR) | 
					
						
							| 
									
										
										
										
											2023-03-11 13:35:00 +00:00
										 |  |  | 	make --directory $(BLOG_BASE_DIR) html | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | 	cp -r $(BLOG_BUILD_DIR)/* $(BLOG_OUT_DIR) | 
					
						
							|  |  |  | 	for page in `find "$(BLOG_OUT_DIR)" -wholename "*.html"`; do \
 | 
					
						
							|  |  |  | 		pipenv run python ppp/ppp.py $$page $(HTML_INCLUDES) > temp ; \
 | 
					
						
							|  |  |  | 		mv temp $$page ; \
 | 
					
						
							|  |  |  | 		cp $(CSS_TARGETS) `dirname $$page` ; \
 | 
					
						
							|  |  |  | 	done | 
					
						
							| 
									
										
										
										
											2022-01-05 00:54:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							| 
									
										
										
										
											2023-08-10 23:02:03 +02:00
										 |  |  | 	make --directory $(BLOG_BASE_DIR) clean | 
					
						
							| 
									
										
										
										
											2023-03-13 22:27:18 +00:00
										 |  |  | 	rm -rf $(OUT_DIR) | 
					
						
							| 
									
										
										
										
											2022-03-21 14:08:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-07 00:22:34 +00:00
										 |  |  | .PHONY: blog vn |