emacs ?= emacs
OUTDIR := _site
-FORCE := "no"
BLOGDIR := $(PWD)
+UPDATE :=
# To color the code block, install htmlize package
INIT_PACKAGES = "(progn \
(package-initialize) \
(unless (package-installed-p 'htmlize) (package-refresh-contents) (package-install 'htmlize)))"
-# used for automation on server
CSS := $(wildcard css/*.css)
-OBJS := $(addprefix $(OUTDIR)/,$(CSS))
-#$(OUTDIR)/css/%.css:css/%.css
-# rm -rf ~/.org-timestamps
-#$(OBJS): $(CSS) my-publish.el
-# remove the timestamp file to force publish all files
-$(OBJS): $(OUTDIR)/css/%.css:css/%.css
- rm -rf ~/.org-timestamps
-
-.PHONY: update publish test clean
-
-update:
- git pull
+.PHONY: update publish clean
-publish: update $(OBJS)
+publish: update temp
$(emacs) -Q --batch \
--eval $(INIT_PACKAGES) \
--eval '(setq debug-on-error t)' \
--eval '(blog-setup-project-alist "$(BLOGDIR)" "$(OUTDIR)")' \
--eval '(org-publish-current-project)'
-## test will force publishing all files in the porject
-#test:
-# $(emacs) -Q --batch \
-# --eval $(INIT_PACKAGES) \
-# --eval '(setq debug-on-error t)' \
-# -l my-publish.el index.org \
-# --eval '(blog-setup-project-alist "$(BLOGDIR)")' \
-# --eval '(org-publish-current-project t)'
+update:
+ifeq ($(UPDATE), true)
+ git pull
+endif
+
+# if the source files (css) file changed, remote the org-timestamps to
+# re-generate all the html files
+temp: $(CSS) my-publish.el
+ rm -rf ~/.org-timestamps
+ touch temp
clean:
rm -rf _site/*