update makefile

This commit is contained in:
rhiannon morris 2024-11-29 00:51:25 +01:00
parent 53365f2079
commit e228947212

View file

@ -1,15 +1,16 @@
HOST ?= rhiannon.website
HOST ?= niss.website
REMOTE_USER ?= www-data
IDFILE ?= ~/.ssh/xyz
REMOTE_DIR ?= blog
TMPDIR ?= _tmp
BUILDDIR ?= _build
BUILDDIR ?= /srv/www/blog
POSTSDIR ?= posts
IMAGESDIR ?= images
TEMPLATEDIR ?= templates
STATICS != find $(IMAGESDIR) -type f
STATICS := \
$(subst $(POSTSDIR)/,, $(shell find $(POSTSDIR) -type f -not -iname '*.md')) \
$(shell find $(IMAGESDIR) -type f)
POSTS != find $(POSTSDIR) -name '*.md'
OUTPUTPOSTS = \
@ -26,9 +27,10 @@ ALL_TAGS = $(TMPDIR)/all-tags
POST_LISTS = $(TMPDIR)/post-lists
NICE_DATE = $(TMPDIR)/nice-date
SLUG_TAGS = $(TMPDIR)/slug-tags
FIXFIGS = $(TMPDIR)/fix-figures
EXECS = \
$(LAANTAS_SCRIPT) \
$(ALL_TAGS) $(POST_LISTS) $(NICE_DATE) $(SLUG_TAGS)
$(ALL_TAGS) $(POST_LISTS) $(NICE_DATE) $(SLUG_TAGS) $(FIXFIGS)
CABAL_FLAGS ?= -O
@ -48,7 +50,6 @@ LAANTAS_SCRIPT != cabal list-bin laantas-script
POSTDEPS = \
$(TEMPLATEDIR)/* \
langfilter laantas-script \
$(SYNTAXFILES) acm.csl quox.bib
$(TMPDIR)/all-tags.md $(TMPDIR)/tags.mk &: $(POSTS) $(ALL_TAGS)
@ -77,8 +78,10 @@ define pandoc
FILENAME="$@" \
pandoc -s --toc --toc-depth=2 --template $(TEMPLATEDIR)/$(1) -o $@ $< \
-f markdown+emoji $(2) \
-M filename=$(subst $(BUILDDIR)/,,$@) --metadata-file=rss.yaml \
$(SYNTAXFLAGS) \
--filter $(LANGFILTER) --filter $(NICE_DATE) --filter $(SLUG_TAGS) \
--filter $(FIXFIGS) \
--mathml --citeproc --csl=apa-eu.csl
endef
@ -100,6 +103,7 @@ $(ALL_TAGS): $(BLOG_META_DEPS) ; $(call cabal-exe,blog-meta:)
$(POST_LISTS): $(BLOG_META_DEPS) ; $(call cabal-exe,blog-meta:)
$(NICE_DATE): $(BLOG_META_DEPS) ; $(call cabal-exe,blog-meta:)
$(SLUG_TAGS): $(BLOG_META_DEPS) ; $(call cabal-exe,blog-meta:)
$(FIXFIGS): $(BLOG_META_DEPS) ; $(call cabal-exe,blog-meta:)
define cabal-exe
@echo "[build] $(notdir $@)"
@ -114,7 +118,7 @@ upload: build
@rsync --recursive --partial --progress --copy-links \
--compress --human-readable --hard-links --size-only \
--delete --delete-after \
--rsh='ssh -l $(REMOTE_USER) -i $(IDFILE)' \
--rsh='ssh -l $(REMOTE_USER)' \
$(BUILDDIR)/ $(HOST):$(REMOTE_DIR)/