главная|main page

состояние|status

блог|blog

файлы|files

программы|software

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shpakovsky <alexey@shpakovsky.ru>2014-03-22 15:45:56 +0100
committerAlexey Shpakovsky <alexey@shpakovsky.ru>2014-03-22 15:45:56 +0100
commitf3fa14dc5a737bd0c0424e21e9dc1df1c2e20210 (patch)
tree40f0131c19d89f1843fcede206d4aecd7fac5e22
parent7e6816c391643afe1b91c4d4f25ff546ed64df9c (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-xbb.sh28
1 files changed, 18 insertions, 10 deletions
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 "/^<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