diff --git a/bb.sh b/bb.sh index 3380c98..67fc3ab 100755 --- a/bb.sh +++ b/bb.sh @@ -147,6 +147,8 @@ global_variables() { # The locale to use for the dates displayed on screen (not for the timestamps) date_format="%B %d, %Y" date_locale="C" + # Date options which work on both BSD and GNU date variants + date_R='+%a, %d %h %Y %H:%M:%S %z' } # Prints the required google analytics code @@ -177,7 +179,8 @@ google_analytics() { # # $1 the file to edit edit() { - timestamp="$(date -r $1 +'%Y%m%d%k%M')" + # timestamp="$(date -r $1 +'%Y%m%d%k%M')" + timestamp="$(stat -f "%Sm" -t '%Y%m%d%k%M' $1)" $EDITOR "$1" touch -t $timestamp "$1" } @@ -238,9 +241,11 @@ create_html_page() { echo "$title" >> "$filename" echo '' >> "$filename" if [ "$timestamp" == "" ]; then - echo '
'$(LC_ALL=date_locale date +"$date_format")' — ' >> "$filename" + # echo '
'$(LC_ALL=date_locale date +"$date_format")' — ' >> "$filename" + echo '
'$(date "$date_R")' — ' >> "$filename" else - echo '
'$(LC_ALL=date_locale date +"$date_format" --date="$timestamp") ' — ' >> "$filename" + # echo '
'$(LC_ALL=date_locale date +"$date_format" --date="$timestamp") ' — ' >> "$filename" + echo '
'"$timestamp"' — ' >> "$filename" fi echo "$global_author
" >> "$filename" echo '' >> "$filename" # This marks the text body, after the title, date... @@ -371,7 +376,8 @@ all_posts() { title="$(awk '/

/, /<\/a><\/h3>/{if (!/

/ && !/<\/a><\/h3>/) print}' $i)" echo -n '
  • '$title' —' >> "$contentfile" # Date - date="$(LC_ALL=date_locale date -r "$i" +"$date_format")" + #date="$(LC_ALL=date_locale date -r "$i" +"$date_format")" + date="$(stat -f "%Sm" -t "%a, %d %h %Y %H:%M:%S %z")" echo " $date
  • " >> "$contentfile" done echo "" @@ -424,7 +430,7 @@ list_posts() { n=1 for i in $(ls -t *.html); do if [ "$i" == "$index_file" ] || [ "$i" == "$archive_index" ]; then continue; fi - line="$n # $(awk '/

    /, /<\/a><\/h3>/{if (!/

    / && !/<\/a><\/h3>/) print}' $i) # $(LC_ALL=date_locale date -r $i +"date_format")" + line="$n # $(awk '/

    /, /<\/a><\/h3>/{if (!/

    / && !/<\/a><\/h3>/) print}' $i) # $(stat -f "%Sm" -t "%a, %d %h %Y %H:%M:%S %z" $i)" lines="${lines}""$line""\n" # Weird stuff needed for the newlines n=$(( $n + 1 )) done @@ -443,8 +449,8 @@ make_rss() { echo '' >> "$rssfile" echo ''$global_title''$global_url'' >> "$rssfile" echo ''$global_description'en' >> "$rssfile" - echo ''$(date -R)'' >> "$rssfile" - echo ''$(date -R)'' >> "$rssfile" + echo ''$(date "$date_R")'' >> "$rssfile" + echo ''$(date "$date_R")'' >> "$rssfile" echo '' >> "$rssfile" n=0 @@ -460,8 +466,9 @@ make_rss() { echo "]]>$global_url/$i" >> "$rssfile" echo "$global_url/$i" >> "$rssfile" echo "$global_author" >> "$rssfile" - echo ''$(date -r "$i" -R)'' >> "$rssfile" + #echo ''$(date -r "$i" -R)'' >> "$rssfile" + echo ''$(stat -f "%Sm" -t "%a, %d %h %Y %H:%M:%S %z" "$i" )'' >> "$rssfile" n=$(( $n + 1 )) done @@ -557,11 +564,13 @@ rebuild_all_entries() { awk '//, //{if (!// && !//) print}' "$i" >> "$contentfile" # Original post timestamp - timestamp="$(date -R -r $i)" + #timestamp="$(date -R -r $i)" + timestamp="$(stat -f "%Sm" -t "%a, %d %h %Y %H:%M:%S %z" $i)" create_html_page "$contentfile" "$i.rebuilt" no "$title" "$timestamp" # keep the original timestamp! - timestamp="$(date -r $i +'%Y%m%d%k%M')" + #timestamp="$(date -r $i +'%Y%m%d%k%M')" + timestamp="$(stat -f "%Sm" -t '%Y%m%d%k%M' $i)" mv "$i.rebuilt" "$i" chmod 644 "$i" touch -t $timestamp "$i" @@ -663,3 +672,4 @@ do_main() { # Do not change anything here. If you want to modify the code, edit do_main() # do_main $* +