#!/usr/bin/env bash # Generate the index.html with the content of the latest posts declare index_file declare number_of_index_articles declare cut_do declare cut_line declare template_read_more declare template_archive declare template_subscribe declare template_tags_title declare blog_feed declare global_author declare global_feedburner declare global_title declare archive_index declare tags_index rebuild_index() { echo -n "Rebuilding the index " newindexfile=$index_file.$RANDOM contentfile=$newindexfile.content while [[ -f $newindexfile ]]; do newindexfile=$index_file.$RANDOM contentfile=$newindexfile.content done # Create the content file { n=0 while IFS='' read -r i; do is_boilerplate_file "$i" && continue if ((n >= number_of_index_articles)); then break; fi if [[ -n $cut_do ]]; then get_html_file_content 'entry' 'entry' 'cut' <"$i" | awk "/$cut_line/ { print \"

$template_read_more

\" ; next } 1" else get_html_file_content 'entry' 'entry' <"$i" fi echo -n "." 1>&3 n=$((n + 1)) done < <(ls -t ./*.html) # sort by date, newest first feed=$blog_feed if [[ -n $global_feedburner ]]; then feed=$global_feedburner; fi echo "
$template_archive$template_tags_title$template_subscribe
" } 3>&1 >"$contentfile" echo "" create_html_page "$contentfile" "$newindexfile" yes "$global_title" "$global_author" rm "$contentfile" mv "$newindexfile" "$index_file" chmod 644 "$index_file" }