update submodule url use arch image remove defunct deploy script use pipenv extract build stage connect to remote server deploy with ubuntu copy old site copy new site to host deploy new site only deploy on main
83 lines
2.3 KiB
Makefile
83 lines
2.3 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_RSS = $(BLOG_OUT_DIR)/index.xml
|
|
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
|
|
|
|
all: $(HTML_TARGETS) $(CSS_TARGETS) blog | $(OUT_DIR)
|
|
cp $(IMG_DIR)/*.png $(OUT_DIR)/
|
|
cp $(IMG_DIR)/*.jpg $(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) $(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 $@
|
|
|
|
blog: $(BLOG_TARGETS) $(BLOG_RSS) | $(BLOG_TMP_DIR)
|
|
|
|
$(BLOG_RSS): $(BLOG_PAGES)
|
|
pipenv run python scripts/mkblogrss.py $(BLOG_PAGES) > $@
|
|
|
|
$(BLOG_INDEX_LINKS): $(BLOG_TARGETS) | $(BLOG_TMP_DIR)
|
|
pipenv run 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)
|
|
pipenv run python scripts/mkblog.py $< $@
|
|
|
|
$(BLOG_OUT_DIR): | $(OUT_DIR)
|
|
mkdir -p $@
|
|
|
|
$(BLOG_TMP_DIR):
|
|
mkdir -p $@
|
|
|
|
|
|
clean:
|
|
rm -rf $(OUT_DIR) $(BLOG_TMP_DIR)
|
|
|
|
.PHONY: site
|