From f3329f0a82cf7b4ef3fa8011f87fc8a3dafd753e Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Sun, 10 Jan 2016 19:31:49 +0100 Subject: Remove unnecessary quotes from scalar assignments Substitutions (variables, command substitutions, etc.) directly assigned to a scalar variable don't need to be quoted, as field splitting and globbing don't apply in that context. Removing superfluous quotes makes the code look a bit cleaner. --- bb.sh | 140 +++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/bb.sh b/bb.sh index eacf90b..147cd20 100755 --- a/bb.sh +++ b/bb.sh @@ -143,7 +143,7 @@ global_variables() { # Markdown location. Trying to autodetect by default. # The invocation must support the signature 'markdown_bin in.md > out.html' - markdown_bin="$(which Markdown.pl || which markdown)" + markdown_bin=$(which Markdown.pl || which markdown) } # Check for the validity of some variables @@ -182,8 +182,8 @@ test_markdown() { # Parse a Markdown file into HTML and return the generated file markdown() { - out="$(echo $1 | sed 's/md$/html/g')" - while [ -f "$out" ]; do out="$(echo $out | sed 's/\.html$/\.'$RANDOM'\.html/')"; done + out=$(echo $1 | sed 's/md$/html/g') + while [ -f "$out" ]; do out=$(echo $out | sed 's/\.html$/\.'$RANDOM'\.html/'); done $markdown_bin "$1" > "$out" echo "$out" } @@ -281,12 +281,12 @@ get_html_file_content() { # leave empty for default behavior (edit only text part and change name) edit() { # Original post timestamp - edit_timestamp="$(LC_ALL=C date -r "${1%%.*}.html" +"%a, %d %b %Y %H:%M:%S %z" )" - touch_timestamp="$(LC_ALL=C date -r "${1%%.*}.html" +'%Y%m%d%H%M')" - tags_before="$(tags_in_post "${1%%.*}.html")" + edit_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +"%a, %d %b %Y %H:%M:%S %z" ) + touch_timestamp=$(LC_ALL=C date -r "${1%%.*}.html" +'%Y%m%d%H%M') + tags_before=$(tags_in_post "${1%%.*}.html") if [ "$2" = "full" ]; then $EDITOR "$1" - filename="$1" + filename=$1 else if [[ "${1##*.}" == "md" ]]; then test_markdown @@ -296,17 +296,17 @@ edit() { fi # editing markdown file $EDITOR "$1" - TMPFILE="$(markdown "$1")" - filename="${1%%.*}.html" + TMPFILE=$(markdown "$1") + filename=${1%%.*}.html else # Create the content file - TMPFILE="$(basename $1).$RANDOM.html" + TMPFILE=$(basename $1).$RANDOM.html # Title echo "$(get_post_title $1)" > "$TMPFILE" # Post text with plaintext tags get_html_file_content 'text' 'text' <$1 | sed "/^

$template_tags_line_header/s|\\1|\\1|g" >> "$TMPFILE" $EDITOR "$TMPFILE" - filename="$1" + filename=$1 fi rm "$filename" if [ "$2" = "keep" ]; then @@ -320,8 +320,8 @@ edit() { touch -t "$touch_timestamp" "$filename" chmod 644 "$filename" echo "Posted $filename" - tags_after="$(tags_in_post $filename)" - relevant_tags="$(echo "$tags_before $tags_after" | tr ',' ' ' | tr ' ' '\n' | sort -u | tr '\n' ' ')" + tags_after=$(tags_in_post $filename) + relevant_tags=$(echo "$tags_before $tags_after" | tr ',' ' ' | tr ' ' '\n' | sort -u | tr '\n' ' ') if [ ! -z "$relevant_tags" ]; then relevant_posts="$(posts_with_tags $relevant_tags) $filename" rebuild_tags "$relevant_posts" "$relevant_tags" @@ -342,7 +342,7 @@ twitter_card() { echo "" image=$(sed -n 's/.*" } @@ -387,7 +387,7 @@ twitter() { # Return 0 (bash return value 'true') if the input file is an index, feed, etc # or 1 (bash return value 'false') if it is a blogpost is_boilerplate_file() { - name="`clean_filename $1`" + name=$(clean_filename $1) if [[ "$name" == "$index_file" ]] || [[ "$name" == "$archive_index" ]] || [[ "$name" == "$tags_index" ]] || [[ "$name" == "$footer_file" ]] || [[ "$name" == "$header_file" ]] || [[ "$name" == "$global_analytics_file" ]] || [[ "$name" = "$prefix_tags"* ]] ; then return 0 else # Check for exclded for excl in ${html_exclude[*]}; do @@ -402,7 +402,7 @@ is_boilerplate_file() { # $1 the file name # returns the clean file name clean_filename() { - name="$1" + name=$1 [[ "${name:0:2}" == "./" ]] && name=${name:2} # Delete leading './' echo $name } @@ -419,11 +419,11 @@ clean_filename() { # $4 title for the html header # $5 original blog timestamp create_html_page() { - content="$1" - filename="$2" - index="$3" - title="$4" - timestamp="$5" + content=$1 + filename=$2 + index=$3 + title=$4 + timestamp=$5 # Create the actual blog post # html, head @@ -443,8 +443,8 @@ create_html_page() { echo '' >> "$filename" # title, header, headerholder echo '

' >> "$filename" - file_url="`clean_filename $filename`" - file_url="$(sed 's/.rebuilt//g' <<< $file_url)" # Get the correct URL when rebuilding + file_url=$(clean_filename $filename) + file_url=$(sed 's/.rebuilt//g' <<< $file_url) # Get the correct URL when rebuilding # one blog entry if [[ "$index" == "no" ]]; then echo '' >> "$filename" # marks the beginning of the whole post @@ -502,22 +502,22 @@ parse_file() { else filename=$title [[ "$convert_filename" ]] && - filename="$(echo $title | eval $convert_filename)" + filename=$(echo $title | eval $convert_filename) [[ "$filename" ]] || filename=$RANDOM # don't allow empty filenames - filename="$filename.html" + filename=$filename.html # Check for duplicate file names while [ -f "$filename" ]; do - suffix="$RANDOM" - filename="$(echo $filename | sed 's/\.html/'$suffix'\.html/g')" + suffix=$RANDOM + filename=$(echo $filename | sed 's/\.html/'$suffix'\.html/g') done fi - content="$filename.tmp" + content=$filename.tmp # Parse possible tags elif [[ "$line" = "

$template_tags_line_header"* ]]; then - tags="$(echo "$line" | cut -d ":" -f 2- | sed -e 's/<\/p>//g' -e 's/^ *//' -e 's/ *$//' -e 's/, /,/g')" + tags=$(echo "$line" | cut -d ":" -f 2- | sed -e 's/<\/p>//g' -e 's/^ *//' -e 's/ *$//' -e 's/, /,/g') IFS=, read -r -a array <<< "$tags" echo -n "

$template_tags_line_header " >> "$content" @@ -538,19 +538,19 @@ parse_file() { # also the drafts write_entry() { test_markdown && fmt="md" || fmt="html" - f="$2" - [[ "$2" == "-html" ]] && fmt="html" && f="$3" + f=$2 + [[ "$2" == "-html" ]] && fmt="html" && f=$3 if [[ "$f" != "" ]]; then - TMPFILE="$f" + TMPFILE=$f if [[ ! -f "$TMPFILE" ]]; then echo "The file doesn't exist" delete_includes exit fi # guess format from TMPFILE - extension="${TMPFILE##*.}" - [[ "$extension" == "md" || "$extension" == "html" ]] && fmt="$extension" + extension=${TMPFILE##*.} + [[ "$extension" == "md" || "$extension" == "html" ]] && fmt=$extension # but let user override it (`bb.sh post -html file.md`) [[ "$2" == "-html" ]] && fmt="html" # Test if Markdown is working before re-posting a .md file @@ -586,7 +586,7 @@ EOF [ "$filename" ] && rm "$filename" # Delete the generated html file, if any $EDITOR "$TMPFILE" if [[ "$fmt" == "md" ]]; then - html_from_md="$(markdown "$TMPFILE")" + html_from_md=$(markdown "$TMPFILE") parse_file "$html_from_md" rm "$html_from_md" else @@ -594,7 +594,7 @@ EOF fi chmod 644 "$filename" - [ "$preview_url" ] || preview_url="$global_url" + [ "$preview_url" ] || preview_url=$global_url echo "To preview the entry, open $preview_url/$filename in your browser" echo -n "[P]ost this entry, [E]dit again, [D]raft for later? (p/E/d) " @@ -603,8 +603,8 @@ EOF mkdir -p "drafts/" chmod 700 "drafts/" - title="$(head -n 1 $TMPFILE)" - [[ "$convert_filename" ]] && title="$(echo $title | eval $convert_filename)" + title=$(head -n 1 $TMPFILE) + [[ "$convert_filename" ]] && title=$(echo $title | eval $convert_filename) [[ "$title" ]] || title=$RANDOM draft="drafts/$title.$fmt" @@ -624,7 +624,7 @@ EOF fi chmod 644 "$filename" echo "Posted $filename" - relevant_tags="$(tags_in_post $filename)" + relevant_tags=$(tags_in_post $filename) if [ ! -z "$relevant_tags" ]; then relevant_posts="$(posts_with_tags $relevant_tags) $filename" rebuild_tags "$relevant_posts" "$relevant_tags" @@ -634,9 +634,9 @@ EOF # Create an index page with all the posts all_posts() { echo -n "Creating an index page with all the posts " - contentfile="$archive_index.$RANDOM" + contentfile=$archive_index.$RANDOM while [ -f "$contentfile" ]; do - contentfile="$archive_index.$RANDOM" + contentfile=$archive_index.$RANDOM done echo "

$template_archive_title

" >> "$contentfile" @@ -645,18 +645,18 @@ all_posts() { is_boilerplate_file "$i" && continue echo -n "." # Month headers - month="$(LC_ALL=$date_locale date -r "$i" +"$date_allposts_header")" + month=$(LC_ALL=$date_locale date -r "$i" +"$date_allposts_header") if [[ "$month" != "$prev_month" ]]; then [[ "$prev_month" ]] && echo "" >> "$contentfile" # Don't close ul before first header echo "

$month

" >> "$contentfile" echo "
    " >> "$contentfile" - prev_month="$month" + prev_month=$month fi # Title - title="$(get_post_title "$i")" + title=$(get_post_title "$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") echo " $date
  • " >> "$contentfile" done echo "" @@ -672,18 +672,18 @@ all_posts() { # Create an index page with all the tags all_tags() { echo -n "Creating an index page with all the tags " - contentfile="$tags_index.$RANDOM" + contentfile=$tags_index.$RANDOM while [ -f "$contentfile" ]; do - contentfile="$tags_index.$RANDOM" + contentfile=$tags_index.$RANDOM done echo "

    $template_tags_title

    " >> "$contentfile" echo "
      " >> "$contentfile" for i in $(ls ./$prefix_tags*.html 2>/dev/null || echo ''); do echo -n "." - nposts="$(grep -c "<\!-- text begin -->" $i)" - tagname="$(echo $i | cut -c $((${#prefix_tags}+3))- | sed 's/\.html//g')" - i="`clean_filename $i`" + nposts=$(grep -c "<\!-- text begin -->" $i) + tagname=$(echo $i | cut -c $((${#prefix_tags}+3))- | sed 's/\.html//g') + i=$(clean_filename $i) echo "
    • $tagname — $nposts $template_tags_posts
    • " >> "$contentfile" done echo "" @@ -699,11 +699,11 @@ all_tags() { # Generate the index.html with the content of the latest posts rebuild_index() { echo -n "Rebuilding the index " - newindexfile="$index_file.$RANDOM" - contentfile="$newindexfile.content" + newindexfile=$index_file.$RANDOM + contentfile=$newindexfile.content while [ -f "$newindexfile" ]; do - newindexfile="$index_file.$RANDOM" - contentfile="$newindexfile.content" + newindexfile=$index_file.$RANDOM + contentfile=$newindexfile.content done # Create the content file @@ -720,8 +720,8 @@ rebuild_index() { n=$(( n + 1 )) done - feed="$blog_feed" - if [[ "$global_feedburner" != "" ]]; then feed="$global_feedburner"; fi + feed=$blog_feed + if [[ "$global_feedburner" != "" ]]; then feed=$global_feedburner; fi echo '' >> "$contentfile" echo "" @@ -744,7 +744,7 @@ tags_in_post() { # Prints one line with space-separated tags to stdout posts_with_tags() { [ $# -lt 1 ] && return - tag_files="$(for i in $@; do echo -n $prefix_tags""$i.html" "; done)" + tag_files=$(for i in "$@"; do echo -n $prefix_tags""$i.html" "; done) sed -n '/^

      /{s/.*href="\([^"]*\)">.*/\1/;p;}' $tag_files 2> /dev/null } @@ -760,13 +760,13 @@ posts_with_tags() { rebuild_tags() { if [ "$#" -lt 2 ]; then # will process all files and tags - files="$(ls -t ./*.html)" + files=$(ls -t ./*.html) all_tags="yes" else # will process only given files and tags - files="$(echo "$1" | tr ' ' '\n' | sort -u | tr '\n' ' ')" - files="$(ls -t $files)" - tags="$2" + files=$(echo "$1" | tr ' ' '\n' | sort -u | tr '\n' ' ') + files=$(ls -t $files) + tags=$2 fi echo -n "Rebuilding tag pages " n=0 @@ -782,7 +782,7 @@ rebuild_tags() { for i in $files; do is_boilerplate_file "$i" && continue; echo -n "." - tmpfile="$(mktemp tmp.XXX)" + tmpfile=$(mktemp tmp.XXX) if [ "$cut_do" ]; then get_html_file_content 'entry' 'entry' 'cut' <$i | awk '/'"$cut_line"'/ { print "

      '"$template_read_more"'

      " ; next } 1' >> "$tmpfile" else @@ -797,7 +797,7 @@ rebuild_tags() { done # Now generate the tag files with headers, footers, etc for i in $(ls -t ./$prefix_tags*.tmp.html 2>/dev/null || echo ''); do - tagname="$(echo $i | cut -c $((${#prefix_tags}+3))- | sed 's/\.tmp\.html//g')" + tagname=$(echo $i | cut -c $((${#prefix_tags}+3))- | sed 's/\.tmp\.html//g') create_html_page "$i" "$prefix_tags$tagname.html" yes "$global_title — $template_tag_title \"$tagname\"" rm "$i" done @@ -821,7 +821,7 @@ list_posts() { for i in $(ls -t ./*.html); do is_boilerplate_file "$i" && continue line="$n # $(get_post_title "$i") # $(LC_ALL=$date_locale date -r $i +"$date_format")" - lines="${lines}""$line""\n" # Weird stuff needed for the newlines + lines+=$line\\n n=$(( n + 1 )) done @@ -832,8 +832,8 @@ list_posts() { make_rss() { echo -n "Making RSS " - rssfile="$blog_feed.$RANDOM" - while [ -f "$rssfile" ]; do rssfile="$blog_feed.$RANDOM"; done + rssfile=$blog_feed.$RANDOM + while [ -f "$rssfile" ]; do rssfile=$blog_feed.$RANDOM; done echo '' >> "$rssfile" echo '' >> "$rssfile" @@ -890,7 +890,7 @@ create_includes() { if [[ -f "$footer_file" ]]; then cp "$footer_file" .footer.html else - protected_mail="$(echo "$global_email" | sed 's/@/\@/g' | sed 's/\./\./g')" + protected_mail=$(echo "$global_email" | sed 's/@/\@/g' | sed 's/\./\./g') echo '' >> ".footer.html" fi @@ -959,15 +959,15 @@ rebuild_all_entries() { echo -n "." # Get the title and entry, and rebuild the html structure from scratch (divs, title, description...) - title="$(get_post_title "$i")" + title=$(get_post_title "$i") get_html_file_content 'text' 'text' <$i >> "$contentfile" # Original post timestamp - timestamp="$(LC_ALL=C date -r $i +"%a, %d %b %Y %H:%M:%S %z" )" + timestamp=$(LC_ALL=C date -r $i +"%a, %d %b %Y %H:%M:%S %z" ) create_html_page "$contentfile" "$i.rebuilt" no "$title" "$timestamp" # keep the original timestamp! - timestamp="$(LC_ALL=C date -r $i +'%Y%m%d%H%M')" + timestamp=$(LC_ALL=C date -r $i +'%Y%m%d%H%M') mv "$i.rebuilt" "$i" chmod 644 "$i" touch -t "$timestamp" "$i" -- cgit v1.2.3