update linux note
[blog.git] / Makefile
index c3aca65..b6ef862 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
 ## Makefile to export org in blog file to html
 
 emacs ?= emacs
-OUTDIR := 
-FORCE := "no"
+OUTDIR := _site
 BLOGDIR := $(PWD)
+UPDATE :=
 
 # To color the code block, install htmlize package
 INIT_PACKAGES = "(progn \
@@ -12,14 +12,11 @@ INIT_PACKAGES = "(progn \
                                (package-initialize) \
                                (unless (package-installed-p 'htmlize) (package-refresh-contents) (package-install 'htmlize)))"
 
-all:
-       $(emacs) -Q --script blog.el $(OUTDIR) $(FORCE)
+CSS := $(wildcard css/*.css)
 
-# used for automation on server
-update:
-       git pull && $(emacs) -Q --script blog.el "~/www/html" "true" 
+.PHONY: update publish clean
 
-publish:
+publish: update temp
        $(emacs) -Q --batch  \
                --eval $(INIT_PACKAGES) \
                --eval '(setq debug-on-error t)' \
@@ -27,14 +24,16 @@ publish:
                --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/*