X-Git-Url: https://plomlompom.com/repos/?p=redo-blog;a=blobdiff_plain;f=processor%2Fdefault.html.do;h=31fa9cd5e24259401c9ff0332eae1639f95c8648;hp=c9bfbdb9eb160e59d383127c87f5a941b4afe14d;hb=72ae8fbf69b4a8de4cf31c5b9b9ee7bb760f2278;hpb=f58e6d66bc1228640227e9a95a305f8213a7103a diff --git a/processor/default.html.do b/processor/default.html.do index c9bfbdb..31fa9cd 100644 --- a/processor/default.html.do +++ b/processor/default.html.do @@ -1,16 +1,31 @@ #!/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 -uuid_file="${metadata_dir}/${1%.html}.uuid" -redo-ifchange "$uuid_file" +captchas_dir=captchas/public +mkdir -p "$captchas_dir" +meta_file="${metadata_dir}/${1%.html}.automatic_metadata" +redo-ifchange "$meta_file" 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" +redo-ifchange "$replies_file" +captcha_file="$captchas_dir/${1%.html}" +redo-ifchange "$captcha_file" # Build entry data. blog_title=$(read_and_escape_file "$title_file" | head -1 | prep_sed) @@ -19,17 +34,22 @@ title_plaintext=`echo "$title_html" | html2text` title_html=$(printf "%s" "$title_html" | prep_sed) title_plaintext=$(escape_html "$title_plaintext" | prep_sed) body=$(cat "$intermediate_file" | sed 1d | prep_sed) -datetime_created_unix=$(stat -c%y "${uuid_file}") -datetime_created_rfc3339=$(date -u "+%Y-%m-%dT%TZ" -d "${datetime_created_unix}") -datetime_created_friendly=$(date -u "+%Y-%m-%d %T (UTC)" -d "${datetime_created_unix}") +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}") +replies=$(while read line; do prep_url "$line"; done < "$replies_file") +captcha=$(escape_html "$(cat "$captcha_file" | sed -n 2p)" | prep_sed) # 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' | \ sed 's/%ARTICLE_TITLE_HTML%/'"$title_html"'/g' | \ -sed 's/%DATETIME_CREATED_RFC3339%/'"$datetime_created_rfc3339"'/g' | \ -sed 's/%DATETIME_CREATED_FRIENDLY%/'"$datetime_created_friendly"'/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' | \ +sed 's/%CAPTCHA%/'"$captcha"'/g' | \ tr '\a' '%'