From 8e814917b65060f20442fb338efa19e67082ccde Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Wed, 17 Jun 2026 17:57:21 +0100 Subject: [PATCH] Makefile: blogs are configurable --- http/Makefile | 21 +++++++++++++++++---- http/config.mk | 7 +++++++ 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 http/config.mk diff --git a/http/Makefile b/http/Makefile index 59bf7a9..13eeb92 100644 --- a/http/Makefile +++ b/http/Makefile @@ -1,13 +1,20 @@ +include config.mk + all: microlog blog public out .PHONY: out out: $(out_files) +blog_src_files = $(patsubst \ + blogs/$(blog)/%.$(BLOG_EXT_$(blog)),\ + src/$(blog)/%$(if $(BLOG_LAYOUT_$(blog)),.$(BLOG_LAYOUT_$(blog))).upphtml,\ + $(shell find -L "blogs/$(blog)" -type f -and -name *.$(BLOG_EXT_$(blog)))) + .PHONY: microlog -microlog: $(patsubst blogs/microlog/%.gmi,src/microlog/%.microlog.upphtml,$(wildcard blogs/microlog/*.gmi)) +microlog: $(let blog,microlog,$(blog_src_files)) .PHONY: blog -blog: $(patsubst blogs/blog/%.gmi,src/blog/%.blog.upphtml,$(wildcard blogs/blog/*.gmi)) +blog: $(let blog,blog,$(blog_src_files)) .PHONY: public public: $(subst public/,out/,$(shell find -L public/ -type f)) @@ -56,9 +63,15 @@ $(foreach layout,$(layouts),\ $(foreach ext,$(sort $(out_files_ext)),\ $(eval $(call out_rule,$(ext),.$(layout))))) +blog_src_files = src/$(blog)/%$(if $(BLOG_LAYOUT_$(blog)),.$(BLOG_LAYOUT_$(blog))).upphtml +blog_files = blogs/$(blog)/%.$(BLOG_EXT_$(blog)) $$(wildcard bin/*) define blog_rule = -src/$(1)/%$(if $(2),.$(2)).upphtml: blogs/$(1)/%.gmi $$(wildcard bin/*) - ./bin/blog -i $(1) $(if $(2),-l $(2)) -t -p gmi2upphtml -f $$*.gmi +$(blog_src_files): $(blog_files) + ./bin/blog \ + -i $(blog) \ + $(if $(BLOG_LAYOUT_$(blog)),-l $(BLOG_LAYOUT_$(blog))) \ + $(BLOG_FLAGS_$(blog)) \ + -f $$*.$(BLOG_EXT_$(blog)) endef blogs := $(subst blogs/,,$(wildcard blogs/*)) diff --git a/http/config.mk b/http/config.mk new file mode 100644 index 0000000..3b42bd7 --- /dev/null +++ b/http/config.mk @@ -0,0 +1,7 @@ +BLOG_LAYOUT_blog := blog +BLOG_EXT_blog := gmi +BLOG_FLAGS_blog = -p 'cut_longlog_meta | gmi2upphtml' -a extract_longlog_meta + +BLOG_LAYOUT_microlog := microlog +BLOG_EXT_microlog := gmi +BLOG_FLAGS_microlog := -t -p gmi2upphtml