diff options
author | Alexey Shpakovsky <alexey@shpakovsky.ru> | 2014-03-22 15:45:56 +0100 |
---|---|---|
committer | Alexey Shpakovsky <alexey@shpakovsky.ru> | 2014-03-22 15:45:56 +0100 |
commit | f3fa14dc5a737bd0c0424e21e9dc1df1c2e20210 (patch) | |
tree | 40f0131c19d89f1843fcede206d4aecd7fac5e22 | |
parent | 7e6816c391643afe1b91c4d4f25ff546ed64df9c (diff) |
edit markdown posts
usage:
bb.sh edit article.md
to edit previously posted article (for which markdown source was saved),
and repost it (under the same name or not)
-rwxr-xr-x | bb.sh | 28 |
1 files changed, 18 insertions, 10 deletions
@@ -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 "/^<p>$template_tags_line_header/s|<a href='$prefix_tags\([^']*\).html'>\\1</a>|\\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 "/^<p>$template_tags_line_header/s|<a href='$prefix_tags\([^']*\).html'>\\1</a>|\\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 |