diff --git a/bb.sh b/bb.sh index 4103996..5d4aaa7 100755 --- a/bb.sh +++ b/bb.sh @@ -258,7 +258,7 @@ 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 + while [ -f "$out" ]; do out="$(echo $out | sed 's/\.html$/\.'$RANDOM'\.html/')"; done $markdown_bin $1 > $out echo $out } @@ -360,16 +360,24 @@ edit() { $EDITOR "$1" filename="$1" else - # Create the content file - 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" - rm $1 - $EDITOR "$TMPFILE" + if [[ "${1##*.}" == "md" ]]; then + # editing markdown file + $EDITOR "$1" + TMPFILE="$(markdown "$1")" + filename="${1%%.*}.html" + else + # Create the content file + 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" + fi + rm "$filename" if [ "$2" = "keep" ]; then - parse_file "$TMPFILE" "$edit_timestamp" "$1" + parse_file "$TMPFILE" "$edit_timestamp" "$filename" else parse_file "$TMPFILE" "$edit_timestamp" # this command sets $filename as the html processed file fi