home · contact · privacy
Add interpretation of article-specific linkback URL list files.
[redo-blog] / processor / default.html.do
index 7adf89b6ed73ddd27191416c18483cf480f7a7ea..8937ce8ed1bbd9077472efbb535877160a645846 100644 (file)
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+# Handle URL from .links file.
+prep_url() {
+  url=$(printf "%s" "$(escape_html "$1")" | prep_sed)
+  template=$(cat "$linkback_tmpl_file")
+  printf "%s" "$template" | sed 's/%URL%/'"$url"'/g' | tr '\a' '%' | prep_sed
+}
+
 # Pull in global dependencies.
 . ./helpers.sh
 metadata_dir=metadata
@@ -9,8 +16,11 @@ intermediate_file="${metadata_dir}/${1%.html}.intermediate"
 redo-ifchange "$intermediate_file"
 title_file="${metadata_dir}"/title
 redo-ifchange "$title_file" 
-template_file="${metadata_dir}"/article.tmpl
-redo-ifchange "$template_file"
+article_tmpl_file="${metadata_dir}"/article.tmpl
+redo-ifchange "$article_tmpl_file"
+linkback_tmpl_file="${metadata_dir}"/linkback.tmpl
+redo-ifchange "$linkback_tmpl_file"
+replies_file="${1%.html}.links"
 
 # Build entry data.
 blog_title=$(read_and_escape_file "$title_file" | head -1 | prep_sed)
@@ -23,9 +33,12 @@ datetime_created_unix=$(get_creation_date_from_meta_file_seconds "$meta_file")
 date_created=$(date -u "+%Y-%m-%d" -d "@${datetime_created_unix}")
 datetime_lastmod_unix=$(get_lastmod_date_from_meta_file "$meta_file")
 date_updated=$(date -u "+%Y-%m-%d" -d "@${datetime_lastmod_unix}")
+if test -f "$replies_file"; then
+  replies=$(while read line; do prep_url "$line"; done < "$replies_file")
+fi
 
 # Put data into template.
-template=$(cat "$template_file")
+template=$(cat "$article_tmpl_file")
 printf "%s" "$template" | \
 sed 's/%BLOG_TITLE%/'"$blog_title"'/g' | \
 sed 's/%ARTICLE_TITLE_ESCAPED%/'"$title_plaintext"'/g' | \
@@ -33,4 +46,5 @@ sed 's/%ARTICLE_TITLE_HTML%/'"$title_html"'/g' | \
 sed 's/%DATE_CREATED%/'"$date_created"'/g' | \
 sed 's/%DATE_UPDATED%/'"$date_updated"'/g' | \
 sed 's/%BODY%/'"$body"'/g' | \
+sed 's/%LINKBACKS%/'"$replies"'/g' | \
 tr '\a' '%'