From 699ecc60058106751d579c76156a7a08d7e5a85b Mon Sep 17 00:00:00 2001 From: Alexey Shpakovsky Date: Sat, 1 Mar 2014 12:30:08 +0100 Subject: [PATCH] move tag parsing to parse_file --- bb.sh | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/bb.sh b/bb.sh index 96d410a..b973a7e 100755 --- a/bb.sh +++ b/bb.sh @@ -476,6 +476,16 @@ parse_file() { suffix="$RANDOM" filename="$(echo $filename | sed 's/\.html/'$suffix'\.html/g')" done + # 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')" + IFS=, read -r -a array <<< "$tags" + + echo -n "

$template_tags_line_header " >> "$content" + (for item in "${array[@]}"; do + echo -n "$item, " + done ) | sed 's/, $//g' >> "$content" + echo -e "

" >> "$content" else echo "$line" >> "$content" fi @@ -574,23 +584,6 @@ EOF done rm "$TMPFILE" - # Parse possible tags - cp "$filename" "$filename.bak" - while read line; do - if [[ "$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')" - IFS=, read -r -a array <<< "$tags" - - echo -n "

$template_tags_line_header " - (for item in "${array[@]}"; do - echo -n "$item, " - done ) | sed 's/, $//g' - echo -e "

" - else echo "$line" - fi - done < "$filename.bak" > "$filename" - rm "$filename.bak" - chmod 644 "$filename" echo "Posted $filename" }