summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 48 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b6c9b42
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,48 @@
+BUILD_DIR=build
+THEME_DIR=theme
+HTML_DIR=clean
+
+fonts_dir=static/fonts
+js_dir=static/js
+css_dir=static/css
+js_files=$(wildcard $(THEME_DIR)/$(js_dir)/*.js)
+css_files=$(sort $(wildcard $(THEME_DIR)/$(css_dir)/*.css))
+render_sources=$(wildcard $(CLEAN_DIR)/*.html)
+render_targets=$(addprefix $(BUILD_DIR)/, $(notdir $(render_sources)))
+
+.PHONY: render cssmin jsmin assets render all jslint csslint
+
+all: assets render
+
+assets: cssmin jsmin | $(BUILD_DIR)/$(fonts_dir)
+
+cssmin: $(BUILD_DIR)/$(css_dir)/style.min.css
+
+jsmin: $(BUILD_DIR)/$(js_dir)/main.min.js
+
+jslint: $(js_files)
+ jshint $^
+
+csslint: $(THEME_DIR)/$(css_dir)/main.css $(THEME_DIR)/$(css_dir)/chapter.css
+ csslint $^
+
+render: $(render_targets)
+
+$(BUILD_DIR)/$(fonts_dir): $(THEME_DIR)/$(fonts_dir) | $(BUILD_DIR)
+ cp -r $< $@
+
+$(BUILD_DIR)/$(js_dir) $(BUILD_DIR)/$(css_dir): | $(BUILD_DIR)
+ mkdir -p $@
+
+$(BUILD_DIR):
+ mkdir -p $@
+
+$(BUILD_DIR)/%.html: $(HTML_DIR)/%.html render.py $(THEME_DIR)/layout.html
+ python2 render.py $< $@
+
+$(BUILD_DIR)/$(js_dir)/main.min.js: $(js_files) | $(BUILD_DIR)/$(js_dir)
+ uglifyjs $^ > $@
+
+$(BUILD_DIR)/$(css_dir)/style.min.css: $(css_files) | $(BUILD_DIR)/$(css_dir)
+ cat $(css_files) | cssmin > $@
+