Makefile: blogs are configurable

This commit is contained in:
2026-06-17 17:57:21 +01:00
parent a8686d9169
commit 8e814917b6
2 changed files with 24 additions and 4 deletions
+17 -4
View File
@@ -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/*))
+7
View File
@@ -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