|
1 | | -EMACS_INIT := /root/.emacs.d/init.el |
2 | | -EMACS_LOAD := -l $(EMACS_INIT) |
3 | | -EMACS_FLAGS := --batch --kill $(EMACS_LOAD) |
4 | | -ORG_FILES := $(wildcard *.org) |
5 | | -HTML_FILES := $(patsubst %.org, %.html, $(ORG_FILES)) |
6 | | -DOCKER_IMG := commonlispbr/emacs |
7 | | -USER := $(shell id -u):$(shell id -g) |
8 | | -DOCKER_RUN := docker run -w /tmp \ |
9 | | - -v $(shell pwd):/tmp \ |
10 | | - --rm \ |
11 | | - -t |
12 | | -STATUS_PREFIX := "\033[1;32m[+]\033[0m " |
13 | | -ATTENTION_PREFIX := "\033[1;36m[!]\033[0m " |
| 1 | +EMACS_INIT := /root/.emacs.d/init.el |
| 2 | +EMACS_LOAD := -l $(EMACS_INIT) |
| 3 | +EMACS_FLAGS := --batch --kill $(EMACS_LOAD) |
| 4 | +ORG_FILES := $(wildcard *.org) |
| 5 | +HTML_FILES := $(patsubst %.org, %.html, $(ORG_FILES)) |
| 6 | +STATIC_FILES_FOLDER := static/ |
| 7 | +DOCKER_IMG := commonlispbr/emacs |
| 8 | +MINIFY_IMG := tdewolff/minify |
| 9 | +USER := $(shell id -u):$(shell id -g) |
| 10 | +DOCKER_RUN := docker run -w /tmp \ |
| 11 | + -v $(shell pwd):/tmp \ |
| 12 | + --rm \ |
| 13 | + -t |
| 14 | +MINIFY := $(DOCKER_RUN) --entrypoint="/usr/bin/minify" $(MINIFY_IMG) |
| 15 | + |
| 16 | +STATUS_PREFIX := "\033[1;32m[+]\033[0m " |
14 | 17 |
|
15 | 18 | .PHONY: clean shell |
16 | 19 |
|
17 | | -all: $(HTML_FILES) copy |
| 20 | +all: setup $(HTML_FILES) minify |
18 | 21 |
|
19 | 22 | shell: |
20 | 23 | $(DOCKER_RUN) -i --entrypoint=/bin/zsh $(DOCKER_IMG) |
21 | 24 |
|
| 25 | +setup: |
| 26 | + @printf $(STATUS_PREFIX); echo "CREATING STATIC FOLDER: $(STATIC_FILES_FOLDER)" |
| 27 | + @mkdir -p static |
| 28 | + |
22 | 29 | %.html: %.org |
23 | 30 | @printf $(STATUS_PREFIX); echo "COMPILING: $< -> $*.html" |
24 | 31 | @$(DOCKER_RUN) $(DOCKER_IMG) $< $(EMACS_FLAGS) -f org-html-export-to-html |
25 | | - @$(DOCKER_RUN) --entrypoint=/bin/chown $(DOCKER_IMG) $(USER) "$*.html" |
| 32 | + @mv $*.html $(STATIC_FILES_FOLDER)/$*.html |
| 33 | + @printf $(STATUS_PREFIX); echo "MINIFYING: $*.html" |
| 34 | + @$(MINIFY) $(STATIC_FILES_FOLDER)/$*.html -o $(STATIC_FILES_FOLDER)/$*.html |
26 | 35 |
|
27 | | -copy: |
28 | | - @mkdir -p static |
29 | | - @find . \ |
30 | | - "(" -name "*.html" -o -name "*.css" -o -name "*.js" ")" \ |
31 | | - -not -path "./static/*" \ |
32 | | - -not -path "./.github/*" \ |
33 | | - -exec cp {} static \; |
34 | | - @find . \ |
35 | | - -name "*.html" \ |
36 | | - -not -path "./static/*" \ |
37 | | - -not -path "./.github/*" \ |
38 | | - -exec mv {} static \; |
| 36 | +minify: |
| 37 | + @printf $(STATUS_PREFIX); echo "MINIFYING AND BUNDLING CSS FILES" |
| 38 | + @$(MINIFY) --bundle org-theme/dist/long/bundle.css css/syntax.css -o $(STATIC_FILES_FOLDER)/long.css |
| 39 | + @$(MINIFY) --bundle org-theme/dist/short/bundle.css css/syntax.css -o $(STATIC_FILES_FOLDER)/short.css |
| 40 | + @printf $(STATUS_PREFIX); echo "MINIFYING JS FILES" |
| 41 | + @$(MINIFY) --bundle org-theme/dist/long/bundle.js -o $(STATIC_FILES_FOLDER)/long.js |
| 42 | + @$(MINIFY) --bundle org-theme/dist/long/bundle.js -o $(STATIC_FILES_FOLDER)/short.js |
39 | 43 |
|
40 | 44 | server: |
41 | | - python3 -m http.server 8000 --directory ./static |
| 45 | + python3 -m http.server 8000 --directory $(STATIC_FILES_FOLDER) |
42 | 46 |
|
43 | 47 | clean: |
44 | | - rm -rf ./static |
| 48 | + rm -rf $(STATIC_FILES_FOLDER) |
0 commit comments