home · contact · privacy
Add interpretation of article-specific linkback URL list files.
[redo-blog] / processor / metadata / default.feed_snippet.do
index 3321ac4071f684123499a6fcc3174fec2a87439f..73a2d5649451fc8296405944eaeba4a15afb6325 100644 (file)
@@ -1,27 +1,38 @@
 #!/bin/sh
 
+# Handle URL from .links file.
+prep_url() {
+  url=$(escape_html "$1")
+  printf "\n<link href=\"%s\" rel=\"replies\">%s</link>" "$url" "$url"
+}
+
 # Pull in dependencies. 
 . ../helpers.sh
 src_file=$(get_source_file "$1")
-uuid_file="${1%.feed_snippet}.uuid"
-redo-ifchange "$uuid_file"
+meta_file="${1%.feed_snippet}.automatic_metadata"
+redo-ifchange "$meta_file"
 intermediate_file="${1%.feed_snippet}.intermediate"
 redo-ifchange "$intermediate_file"
+replies_file="${src_file%.*}.links"
 
 # Get variables, write entry.
 html_file=$(escape_url "${1%.feed_snippet}.html")
-lastmod=`stat -c%y "$src_file"`
-lastmod_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "$lastmod"`
-published=`stat -c%y "$uuid_file"`
-published_rfc3339=`date -u "+%Y-%m-%dT%TZ" -d "${published}"`
-title=`read_and_escape_file "$intermediate_file" | head -1`
-uuid=`read_and_escape_file "$uuid_file" | head -1`
-body=`read_and_escape_file "$intermediate_file" | sed 1d`
+lastmod=$(get_lastmod_date_from_meta_file "$meta_file")
+lastmod_rfc3339=$(date -u "+%Y-%m-%dT%TZ" -d "@$lastmod")
+title=$(read_and_escape_file "$intermediate_file" | head -1)
+uuid=$(get_uuid_from_meta_file "$meta_file")
+published_unix=$(get_creation_date_from_meta_file_seconds "$meta_file")
+published_rfc3339=$(date -u "+%Y-%m-%dT%TZ" -d "@${published_unix}")
+body=$(read_and_escape_file "$intermediate_file" | sed 1d)
+if test -f "$replies_file"; then
+  replies=$(while read line; do prep_url "$line"; done < "$replies_file")
+fi
 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" "$(get_basepath)" "${html_file}"
-printf "<content type=\"html\">\n%s\n</content>\n" "$body"
+printf "<link href=\"%s%s\" rel=\"alternate\" type=\"text/html\" />" "$(get_basepath)" "${html_file}"
+printf "%s" "$replies"
+printf "\n<content type=\"html\">\n%s\n</content>\n" "$body"
 printf "</entry>\n"