Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GENERATE_POST := engine/generate-post.sh
- GENERATE_CUT_POST := engine/generate-cut-post.sh
- GENERATE_PAGES := engine/generate-pages.sh
- # Depends
- CONFIG := config
- TEMPLATE_DIR := template
- TEMPLATE_POST := $(TEMPLATE_DIR)/post.html
- TEMPLATE_PAGE := $(TEMPLATE_DIR)/page.html
- TEMPLATE_POST_ON_PAGE := $(TEMPLATE_DIR)/post-on-page.html
- # Config
- # For build
- BUILT_DIR := built
- POSTS_BDIR := $(BUILT_DIR)/posts
- CUT_POSTS_BDIR := $(BUILT_DIR)/cut_posts
- PAGES_BDIR := $(BUILT_DIR)/pages
- POSTS_DIR := posts
- POSTS := $(notdir $(wildcard $(POSTS_DIR)/*))
- FINAL_POSTS := $(patsubst %,%.html,$(basename $(POSTS)))
- FINAL_CUT_POSTS := $(patsubst %,%.html.cut,$(basename $(POSTS)))
- # start )-------
- CUT_POSTS := $(shell ls -t $(POSTS_DIR))
- CUT_POSTS := $(addprefix $(CUT_POSTS_BDIR)/,$(CUT_POSTS))
- CUT_POSTS := $(addsuffix .html.cut,$(CUT_POSTS))
- # end )-------
- # For move
- BLOG_ROOT := ko
- POSTS_ROOT := $(BLOG_ROOT)/post/
- # For generate pages
- NUMBER_POSTS_ON_PAGE := 10
- PAGES_NOT_DIR := $(shell echo $(POSTS) |\
- awk '{\
- a = ARGC / $(NUMBER_POSTS_ON_PAGE);\
- b = ARGC % $(NUMBER_POSTS_ON_PAGE);\
- if(b != 0) { a = a + 1; }\
- print "index.html";\
- for(i = 1; i < a; i++) { print i".html"; }\
- }')
- PAGES := $(addprefix $(PAGES_BDIR)/,$(PAGES_NOT_DIR))
- vpath %.html $(POSTS_BDIR)
- vpath %.html.cut $(CUT_POSTS_BDIR)
- vpath % $(POSTS_DIR)
- .PHONY: all generate-posts make-built-dirs install generate-pages clean
- all: generate-posts generate-pages
- generate-pages: $(PAGES)
- $(PAGES): $(FINAL_CUT_POSTS)
- $(GENERATE_PAGES) $(PAGES_BDIR) $(TEMPLATE_PAGE) $(CUT_POSTS)
- generate-posts: make-built-dirs $(FINAL_POSTS)
- make-built-dirs: $(BUILT_DIR) $(POSTS_BDIR) $(CUT_POSTS_BDIR) $(PAGES_BDIR)
- $(FINAL_POSTS): %.html: %
- $(GENERATE_POST) $^ $(POSTS_BDIR) $(TEMPLATE_POST)
- $(FINAL_CUT_POSTS): %.html.cut: %
- $(GENERATE_CUT_POST) $^ $(CUT_POSTS_BDIR) $(TEMPLATE_POST_ON_PAGE) 10
- $(BUILT_DIR) $(POSTS_BDIR) $(CUT_POSTS_BDIR) $(PAGES_BDIR):
- mkdir $@
- install:
- rm -rf $(BLOG_ROOT)/*
- mkdir $(POSTS_ROOT)
- cp $(POSTS_BDIR)/* $(POSTS_ROOT)
- cp $(PAGES_BDIR)/* $(BLOG_ROOT)
- clean:
- rm -rf $(BUILT_DIR)
Add Comment
Please, Sign In to add comment