home · contact · privacy
Move all scripts etc. to their own directory.
[redo-blog] / processor / all.do
diff --git a/processor/all.do b/processor/all.do
new file mode 100644 (file)
index 0000000..edd2b47
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# Remove target files for which no sources files can be found.
+for file in *.intermediate; do
+  if   test -f "$file" &&
+     ! test -f "${file%.intermediate}.md" &&
+     ! test -f "${file%.intermediate}.rst"; then
+    rm "$file"
+  fi
+done
+for file in *.uuid; do
+  if   test -f "$file" &&
+     ! test -f "${file%.uuid}.md" &&
+     ! test -f "${file%.uuid}.rst"; then
+    rm "$file"
+  fi
+done
+for file in *.html; do
+  if   test -f "$file" &&
+     ! test "$file" = "index.html" &&
+     ! test -f "${file%.html}.intermediate"; then
+    rm "$file"
+  fi
+done
+
+# Determine target files from the sources files present, declare dependencies
+# of the all.do script on them / build them if necessary.
+for file in *.rst *.md; do
+  if test -f "$file"; then
+    redo-ifchange "${file%.*}.intermediate"
+  fi
+done
+for file in *.intermediate; do
+  if test -f "$file"; then
+    redo-ifchange "${file%.*}.html"
+  fi
+done
+
+# Regenerate feed and index pages. Always.
+redo "feed.xml"
+redo "index.html"