commit 66b5366b7b377f9e595ee9b97261b65a0064aa5b
parent a0ffc78d4661335d73e25edffad1f1d0fe095e7c
Author: Kévin Le Gouguec <kevin.legouguec@gmail.com>
Date: Wed, 23 Feb 2022 10:26:02 +0100
Add script to update feeds
Diffstat:
5 files changed, 34 insertions(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
@@ -1,3 +1,5 @@
+#################### Variables.
+
OUTDIR = public
dirname = $(patsubst %/,%,$(dir $(1)))
@@ -32,10 +34,21 @@ fonts_folders = $(call dirnames,$(fonts))
scripts = $(foreach img,$(shell find scripts -type f),$(OUTDIR)/$(img))
scripts_folders = $(call dirnames,$(scripts))
-.PHONY: all clean site upload
+#################### Top-level targets.
+
+# Building:
+.PHONY: all clean site
+
+# Maintenance:
+.PHONY: feeds upload
+
+#################### Recipes.
all: site
+feeds: $(feeds_folders)
+ ./admin/feeds/build-feeds.sh $(feeds_src)
+
upload: site
./upload.sh $(OUTDIR)
@@ -44,12 +57,9 @@ clean:
site: $(pages) $(members_pages) $(feeds) $(images) $(stylesheets) $(fonts) $(scripts)
-$(images) $(stylesheets) $(fonts) $(scripts): $(OUTDIR)/%: %
+$(images) $(stylesheets) $(fonts) $(scripts) $(feeds): $(OUTDIR)/%: %
cp $< $@
-$(feeds): $(OUTDIR)/%: %
- ./build-feed.sh $< $@
-
.SECONDEXPANSION:
# 🔪 HACK ATTACK 🔪
diff --git a/build-feed.py b/admin/feeds/build-feed.py
diff --git a/admin/feeds/build-feeds.sh b/admin/feeds/build-feeds.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set -eu
+
+HERE=$(dirname "$0")
+ROOT=${HERE}/../..
+
+. "${ROOT}"/settings.sh
+
+FEEDS=("$@")
+
+for feed in "${FEEDS[@]}"
+do
+ concert=$(dirname "${feed}")/concerts.in
+
+ PYTHONPATH="${ROOT}" \
+ "${HERE}"/build-feed.py "${concert}" "${feed}" \
+ "${HERE}"/concerts-pubdates.json ${domain}
+done
diff --git a/concerts-pubdates.json b/admin/feeds/concerts-pubdates.json
diff --git a/build-feed.sh b/build-feed.sh
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-# TODO: someday, generate both concerts page and feeds from a
-# plaintext list of concerts.
-
-set -eu
-
-input=$1
-output=$2
-
-. settings.sh
-
-sed s,'{DOMAIN}',"${domain}", "${input}" > "${output}"