-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
69 lines (56 loc) · 1.59 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
.POSIX:
OPTIMIZED_DIR := optimized
DEST_DIR := book
SERVER := 159.65.226.127
USER := root
TARGET := docs
CONTENT_DIR := src
# Full path
DEPLOY_DIR := /usr/local/bastille/jails/caddy/root/var/www/$(TARGET).jaredwolff.com
IMAGES := \
$(wildcard $(CONTENT_DIR)/img/*.jpg) \
$(wildcard $(CONTENT_DIR)/img/*.JPG) \
$(wildcard $(CONTENT_DIR)/img/*.jpeg) \
$(wildcard $(CONTENT_DIR)/img/*.png) \
$(wildcard $(CONTENT_DIR)/img/*/*.jpg) \
$(wildcard $(CONTENT_DIR)/img/*/*.JPG) \
$(wildcard $(CONTENT_DIR)/img/*/*.jpeg) \
$(wildcard $(CONTENT_DIR)/img/*/*.png) \
$(wildcard $(CONTENT_DIR)/*/img/*.jpg) \
$(wildcard $(CONTENT_DIR)/*/img/*.jpeg) \
$(wildcard $(CONTENT_DIR)/*/img/*.png) \
$(wildcard $(CONTENT_DIR)/*/img/*.JPG) \
OPTIMIZED_IMAGES := \
$(subst $(CONTENT_DIR)/,$(OPTIMIZED_DIR)/,$(IMAGES))
.PHONY: all
all: build optimize
.PHONY: clean
clean:
rm -rf $(DEST_DIR)/
rm -rf $(OPTIMIZED_DIR)/
.PHONY: serve
serve:
mdbook serve
.PHONY: ssh
ssh:
@ssh $(USER)@$(SERVER)
.PHONY: build
build:
@echo "🍳 Generating site"
@echo $(IMAGES)
mdbook build
rsync -av --del -f"+ */" -f"- *" $(CONTENT_DIR)/ $(OPTIMIZED_DIR)/
.PHONY: optimize
optimize: build $(OPTIMIZED_IMAGES)
@echo "🧂 Optimizing images"
rsync -r $(OPTIMIZED_DIR)/ $(DEST_DIR)/
du -sh $(CONTENT_DIR)/
du -sh $(DEST_DIR)/
$(OPTIMIZED_IMAGES):
convert -strip -compress JPEG -resize '730>' $(subst $(OPTIMIZED_DIR)/,$(CONTENT_DIR)/,$@) $@
.PHONY: deploy
deploy: all
@echo rsync to $(DEPLOY_DIR)
@ssh $(USER)@$(SERVER) mkdir -p $(DEPLOY_DIR)
@rsync -zr --del $(DEST_DIR)/ $(USER)@$(SERVER):$(DEPLOY_DIR)/
@echo "🚀 Docs are deployed!"