## Makefile to export org in blog file to html
emacs ?= emacs
OUTDIR := _site
FORCE := "no"
BLOGDIR := $(PWD)
# To color the code block, install htmlize package
INIT_PACKAGES = "(progn \
(require 'package) \
(add-to-list 'package-archives '(\"melpa\" . \"http://melpa.org/packages/\")) \
(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
# echo "***** css changed remove timestamps *****\n"
# rm -rf ~/.org-timestamps
#$(OBJS): $(CSS) my-publish.el
$(OBJS): _site/css/%.css:css/%.css
rm -rf ~/.org-timestamps
.PHONY: update publish test clean
update:
git pull
publish: update $(OBJS)
$(emacs) -Q --batch \
--eval $(INIT_PACKAGES) \
--eval '(setq debug-on-error t)' \
-l my-publish.el index.org \
--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)'
clean:
rm -rf _site/*