home · contact · privacy
Move all scripts etc. to their own directory.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 19 Nov 2016 20:44:54 +0000 (21:44 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 19 Nov 2016 20:44:54 +0000 (21:44 +0100)
25 files changed:
add_dir.sh
all.do [deleted file]
author.do [deleted file]
default.html.do [deleted file]
default.intermediate.do [deleted file]
default.uuid.do [deleted file]
feed.xml.do [deleted file]
helpers.sh [deleted file]
index.html.do [deleted file]
intermediate.tmpl [deleted file]
processor/all.do [new file with mode: 0644]
processor/author.do [new file with mode: 0644]
processor/default.html.do [new file with mode: 0644]
processor/default.intermediate.do [new file with mode: 0644]
processor/default.uuid.do [new file with mode: 0644]
processor/feed.xml.do [new file with mode: 0644]
processor/helpers.sh [new file with mode: 0644]
processor/index.html.do [new file with mode: 0644]
processor/intermediate.tmpl [new file with mode: 0644]
processor/title.do [new file with mode: 0644]
processor/url.do [new file with mode: 0644]
processor/uuid.do [new file with mode: 0644]
title.do [deleted file]
url.do [deleted file]
uuid.do [deleted file]

index 116e89112b377024e889eb82242ba299f4b81ca8..33bc9135ee1e82ba74c82d060028224020defeab 100755 (executable)
@@ -2,10 +2,10 @@
 
 set -e
 
 
 set -e
 
-curdir=`pwd`
+srcdir=`pwd`/processor
 mkdir -p "$1"
 cd "$1"
 mkdir -p "$1"
 cd "$1"
-for file in "$curdir"/*.do "$curdir"/helpers.sh "$curdir"/intermediate.tmpl; do
+for file in "$srcdir"/*; do
   set +e
   ln -s "$file"
   set -e
   set +e
   ln -s "$file"
   set -e
diff --git a/all.do b/all.do
deleted file mode 100644 (file)
index edd2b47..0000000
--- a/all.do
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/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"
diff --git a/author.do b/author.do
deleted file mode 100644 (file)
index ed14e3f..0000000
--- a/author.do
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "$1" ]; then
-  printf "Joe Sixpack"
-fi
diff --git a/default.html.do b/default.html.do
deleted file mode 100644 (file)
index 3ff4132..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# Pull in global dependencies.
-. ./helpers.sh
-intermediate_file="${1%.html}.intermediate"
-redo-ifchange title
-redo-ifchange "$intermediate_file"
-
-# Build entry data.
-blog_title=`read_and_escape_file title | head -1`
-title_html=`cat "$intermediate_file" | head -1`
-title_plaintext=`echo "$title_html" | html2text`
-title_plaintext_escaped=`escape_html "$title_plaintext"`
-body=`cat "$intermediate_file" | sed 1d`
-
-# Write first part of entry head.
-cat << EOF
-<!DOCTYPE html>
-<html>
-<head>
-EOF
-
-# Write remaining entry head and body. 
-printf "<title>%s – %s</title>\n</head>\n<body>\n" "$blog_title" "$title_plaintext_escaped"
-#printf "<title>%s – %s</title>\n</head>\n<body>\n" "$blog_title" "$entry_title"
-printf "<h1>%s</h1>\n" "$title_html"
-printf "<section>\n%s\n</section>\n</body>\n</html>" "$body"
diff --git a/default.intermediate.do b/default.intermediate.do
deleted file mode 100644 (file)
index 7470c3c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-template=intermediate.tmpl
-uuidfile="${1%.intermediate}.uuid"
-redo-ifchange "$uuidfile"
-redo-ifchange "$template"
-mdfile="${1%.intermediate}.md"
-rstfile="${1%.intermediate}.rst"
-if [ -f "$rstfile" ]; then
-  redo-ifchange "$rstfile"
-  pandoc -f rst --template="$template" --mathml -t html5 "$rstfile" > "$3"
-elif [ -f "$mdfile" ]; then
-  redo-ifchange "$mdfile"
-  pandoc -f markdown --template="$template" --mathml -t html5 "$mdfile" > "$3"
-fi
diff --git a/default.uuid.do b/default.uuid.do
deleted file mode 100644 (file)
index 5efffc8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "$1" ]; then
-  uuidgen > "$1"
-fi
diff --git a/feed.xml.do b/feed.xml.do
deleted file mode 100644 (file)
index 2cdb7b2..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-
-# Pull in global dependencies.
-. ./helpers.sh
-redo-ifchange url
-redo-ifchange author
-redo-ifchange uuid
-redo-ifchange title 
-
-# Build some variables. XML-escape even file contents that should not contain
-# dangerous characters, just to avoid any XML trouble.
-base_url=`cat url | head -1`
-url_protocol=`echo $base_url | cut -d ':' -f 1`
-url_basepath=`echo $base_url | cut -d '/' -f 3-`
-url_basepath_escaped=`escape_url "$url_basepath"`
-basepath="$url_protocol""://""$url_basepath_escaped"
-title=`read_and_escape_file title | head -1`
-author=`read_and_escape_file author | head -1`
-uuid=`read_and_escape_file uuid | head -1`
-
-# Write majority of feed head.
-cat << EOF
-<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom">
-EOF
-printf "<link href=\"%s\" />\n" "$basepath"
-printf "<link href=\"%sfeed.xml\" rel=\"self\" />\n" "$basepath"
-printf "<title type=\"html\">%s</title>\n" "$title"
-printf "<author><name>%s</name></author>\n" "$author"
-printf "<id>urn:uuid:%s</id>\n" "$uuid"
-
-# Iterate through most recent entries (go by lastmod date of source files) to
-# build feed head "updated" element, and individual entries.
-first_run=0
-files=`ls -1t *.rst *.md | head -10 | tr '\n' $'\0'`
-oldIFS="$IFS"
-IFS=$'\0'
-for file in $files; do
-  lastmod=`stat -c%y "$file"`
-  lastmod_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "$lastmod"`
-  if [ "$first_run" -lt "1" ]; then
-    IFS="$oldIFS"
-    printf "<updated>%s</updated>\n\n" "$lastmod_rfc3339" 
-    first_run=1
-  fi
-
-  # Build some variables and dependencies.
-  intermediate_file="${file%.*}.intermediate"
-  htmlfile=`escape_url "${file%.*}.html"`
-  redo-ifchange "$intermediate_file"
-  redo-ifchange "$uuidfile"
-  title=`read_and_escape_file "$intermediate_file" | head -1`
-  uuidfile="${file%.*}.uuid"
-  uuid=`read_and_escape_file "$uuidfile" | head -1`
-  body=`read_and_escape_file "$intermediate_file" | sed 1d`
-  published=`stat -c%y "$uuidfile"`
-  published_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "$published"`
-
-  # Write entry.
-  printf "<entry>\n"
-  printf "<title type=\"html\">%s</title>\n" "$title"
-  printf "<id>urn:uuid:%s</id>\n" "$uuid" 
-  printf "<updated>%s</updated>\n" "$lastmod_rfc3339" 
-  printf "<published>%s</published>\n" "$published_rfc3339" 
-  printf "<link href=\"%s%s\" />\n" "$basepath" "$htmlfile"
-  printf "<content type=\"html\">\n%s\n</content>\n" "$body"
-  printf "</entry>\n\n"
-done
-
-printf "</feed>"
diff --git a/helpers.sh b/helpers.sh
deleted file mode 100644 (file)
index c90e077..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-escape_html()
-{
-out=`python3 -c 'import sys, html; print(html.escape(sys.argv[1]))' "$1"`
-printf "%s" "$out"
-}
-
-read_and_escape_file()
-{
-in=`cat "$1"`
-escape_html "$in"
-}
-
-escape_url()
-{
-out=`python3 -c 'import sys, urllib.parse; print(urllib.parse.quote(sys.argv[1]))' "$1"`
-printf "%s" "$out"
-}
diff --git a/index.html.do b/index.html.do
deleted file mode 100644 (file)
index 8bf6751..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-# Pull in global dependencies.
-. ./helpers.sh
-redo-ifchange title
-
-# Write index head.
-cat << EOF
-<!DOCTYPE html>
-<html>
-<head>
-EOF
-blog_title=`read_and_escape_file title | head -1`
-printf "<title>%s</title>\n</head>\n<body>\n" "$blog_title"
-printf "<h1>%s</h1>\n<ul>\n" "$blog_title"
-
-# Iterate through entries sorted by lastmod of their source files, write entry
-# list. 
-first_run=0
-files=`ls -1t *.rst *.md | tr '\n' $'\0'`
-oldIFS="$IFS"
-IFS=$'\0'
-for file in $files; do
-  if [ "$first_run" -lt "1" ]; then
-    IFS="$oldIFS"
-    first_run=1
-  fi
-  intermediate_file="${file%.*}.intermediate"
-  html_file="${file%.*}.html"
-  redo-ifchange "$intermediate_file"
-  redo-ifchange "$html_file"
-  title_html=`cat "$intermediate_file" | head -1`
-  html_file_escaped=`escape_url "$html_file"`
-  printf "<li><a href=\"%s\" />%s</a></li>\n" "$html_file_escaped" "$title_html"
-done
-
-printf "</ul>\n</body>\n</html>"
diff --git a/intermediate.tmpl b/intermediate.tmpl
deleted file mode 100644 (file)
index 2357009..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-$title$
-$body$
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"
diff --git a/processor/author.do b/processor/author.do
new file mode 100644 (file)
index 0000000..ed14e3f
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+  printf "Joe Sixpack"
+fi
diff --git a/processor/default.html.do b/processor/default.html.do
new file mode 100644 (file)
index 0000000..3ff4132
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Pull in global dependencies.
+. ./helpers.sh
+intermediate_file="${1%.html}.intermediate"
+redo-ifchange title
+redo-ifchange "$intermediate_file"
+
+# Build entry data.
+blog_title=`read_and_escape_file title | head -1`
+title_html=`cat "$intermediate_file" | head -1`
+title_plaintext=`echo "$title_html" | html2text`
+title_plaintext_escaped=`escape_html "$title_plaintext"`
+body=`cat "$intermediate_file" | sed 1d`
+
+# Write first part of entry head.
+cat << EOF
+<!DOCTYPE html>
+<html>
+<head>
+EOF
+
+# Write remaining entry head and body. 
+printf "<title>%s – %s</title>\n</head>\n<body>\n" "$blog_title" "$title_plaintext_escaped"
+#printf "<title>%s – %s</title>\n</head>\n<body>\n" "$blog_title" "$entry_title"
+printf "<h1>%s</h1>\n" "$title_html"
+printf "<section>\n%s\n</section>\n</body>\n</html>" "$body"
diff --git a/processor/default.intermediate.do b/processor/default.intermediate.do
new file mode 100644 (file)
index 0000000..7470c3c
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+template=intermediate.tmpl
+uuidfile="${1%.intermediate}.uuid"
+redo-ifchange "$uuidfile"
+redo-ifchange "$template"
+mdfile="${1%.intermediate}.md"
+rstfile="${1%.intermediate}.rst"
+if [ -f "$rstfile" ]; then
+  redo-ifchange "$rstfile"
+  pandoc -f rst --template="$template" --mathml -t html5 "$rstfile" > "$3"
+elif [ -f "$mdfile" ]; then
+  redo-ifchange "$mdfile"
+  pandoc -f markdown --template="$template" --mathml -t html5 "$mdfile" > "$3"
+fi
diff --git a/processor/default.uuid.do b/processor/default.uuid.do
new file mode 100644 (file)
index 0000000..5efffc8
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+  uuidgen > "$1"
+fi
diff --git a/processor/feed.xml.do b/processor/feed.xml.do
new file mode 100644 (file)
index 0000000..2cdb7b2
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# Pull in global dependencies.
+. ./helpers.sh
+redo-ifchange url
+redo-ifchange author
+redo-ifchange uuid
+redo-ifchange title 
+
+# Build some variables. XML-escape even file contents that should not contain
+# dangerous characters, just to avoid any XML trouble.
+base_url=`cat url | head -1`
+url_protocol=`echo $base_url | cut -d ':' -f 1`
+url_basepath=`echo $base_url | cut -d '/' -f 3-`
+url_basepath_escaped=`escape_url "$url_basepath"`
+basepath="$url_protocol""://""$url_basepath_escaped"
+title=`read_and_escape_file title | head -1`
+author=`read_and_escape_file author | head -1`
+uuid=`read_and_escape_file uuid | head -1`
+
+# Write majority of feed head.
+cat << EOF
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+EOF
+printf "<link href=\"%s\" />\n" "$basepath"
+printf "<link href=\"%sfeed.xml\" rel=\"self\" />\n" "$basepath"
+printf "<title type=\"html\">%s</title>\n" "$title"
+printf "<author><name>%s</name></author>\n" "$author"
+printf "<id>urn:uuid:%s</id>\n" "$uuid"
+
+# Iterate through most recent entries (go by lastmod date of source files) to
+# build feed head "updated" element, and individual entries.
+first_run=0
+files=`ls -1t *.rst *.md | head -10 | tr '\n' $'\0'`
+oldIFS="$IFS"
+IFS=$'\0'
+for file in $files; do
+  lastmod=`stat -c%y "$file"`
+  lastmod_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "$lastmod"`
+  if [ "$first_run" -lt "1" ]; then
+    IFS="$oldIFS"
+    printf "<updated>%s</updated>\n\n" "$lastmod_rfc3339" 
+    first_run=1
+  fi
+
+  # Build some variables and dependencies.
+  intermediate_file="${file%.*}.intermediate"
+  htmlfile=`escape_url "${file%.*}.html"`
+  redo-ifchange "$intermediate_file"
+  redo-ifchange "$uuidfile"
+  title=`read_and_escape_file "$intermediate_file" | head -1`
+  uuidfile="${file%.*}.uuid"
+  uuid=`read_and_escape_file "$uuidfile" | head -1`
+  body=`read_and_escape_file "$intermediate_file" | sed 1d`
+  published=`stat -c%y "$uuidfile"`
+  published_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "$published"`
+
+  # Write entry.
+  printf "<entry>\n"
+  printf "<title type=\"html\">%s</title>\n" "$title"
+  printf "<id>urn:uuid:%s</id>\n" "$uuid" 
+  printf "<updated>%s</updated>\n" "$lastmod_rfc3339" 
+  printf "<published>%s</published>\n" "$published_rfc3339" 
+  printf "<link href=\"%s%s\" />\n" "$basepath" "$htmlfile"
+  printf "<content type=\"html\">\n%s\n</content>\n" "$body"
+  printf "</entry>\n\n"
+done
+
+printf "</feed>"
diff --git a/processor/helpers.sh b/processor/helpers.sh
new file mode 100644 (file)
index 0000000..c90e077
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+escape_html()
+{
+out=`python3 -c 'import sys, html; print(html.escape(sys.argv[1]))' "$1"`
+printf "%s" "$out"
+}
+
+read_and_escape_file()
+{
+in=`cat "$1"`
+escape_html "$in"
+}
+
+escape_url()
+{
+out=`python3 -c 'import sys, urllib.parse; print(urllib.parse.quote(sys.argv[1]))' "$1"`
+printf "%s" "$out"
+}
diff --git a/processor/index.html.do b/processor/index.html.do
new file mode 100644 (file)
index 0000000..8bf6751
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# Pull in global dependencies.
+. ./helpers.sh
+redo-ifchange title
+
+# Write index head.
+cat << EOF
+<!DOCTYPE html>
+<html>
+<head>
+EOF
+blog_title=`read_and_escape_file title | head -1`
+printf "<title>%s</title>\n</head>\n<body>\n" "$blog_title"
+printf "<h1>%s</h1>\n<ul>\n" "$blog_title"
+
+# Iterate through entries sorted by lastmod of their source files, write entry
+# list. 
+first_run=0
+files=`ls -1t *.rst *.md | tr '\n' $'\0'`
+oldIFS="$IFS"
+IFS=$'\0'
+for file in $files; do
+  if [ "$first_run" -lt "1" ]; then
+    IFS="$oldIFS"
+    first_run=1
+  fi
+  intermediate_file="${file%.*}.intermediate"
+  html_file="${file%.*}.html"
+  redo-ifchange "$intermediate_file"
+  redo-ifchange "$html_file"
+  title_html=`cat "$intermediate_file" | head -1`
+  html_file_escaped=`escape_url "$html_file"`
+  printf "<li><a href=\"%s\" />%s</a></li>\n" "$html_file_escaped" "$title_html"
+done
+
+printf "</ul>\n</body>\n</html>"
diff --git a/processor/intermediate.tmpl b/processor/intermediate.tmpl
new file mode 100644 (file)
index 0000000..2357009
--- /dev/null
@@ -0,0 +1,2 @@
+$title$
+$body$
diff --git a/processor/title.do b/processor/title.do
new file mode 100644 (file)
index 0000000..082accf
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+  printf "Yet another blog"
+fi
diff --git a/processor/url.do b/processor/url.do
new file mode 100644 (file)
index 0000000..4e4079f
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+  printf "http://example.org/"
+fi
diff --git a/processor/uuid.do b/processor/uuid.do
new file mode 100644 (file)
index 0000000..ba9e919
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ ! -f "$1" ]; then
+  uuidgen
+fi
diff --git a/title.do b/title.do
deleted file mode 100644 (file)
index 082accf..0000000
--- a/title.do
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "$1" ]; then
-  printf "Yet another blog"
-fi
diff --git a/url.do b/url.do
deleted file mode 100644 (file)
index 4e4079f..0000000
--- a/url.do
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "$1" ]; then
-  printf "http://example.org/"
-fi
diff --git a/uuid.do b/uuid.do
deleted file mode 100644 (file)
index ba9e919..0000000
--- a/uuid.do
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-if [ ! -f "$1" ]; then
-  uuidgen
-fi