ref: 615b102e33076a74cfb00bc4cead25c37dbab8ca
parent: 18b1db432ab98b083c7fbf6b5333e3bc3da96c32
author: sl <uriel@engel.se.cat-v.org>
date: Fri Feb 13 00:10:28 EST 2009
Update and improve bpst.rc
--- a/bin/aux/bpst.rc
+++ b/bin/aux/bpst.rc
@@ -3,53 +3,62 @@
path=( $PLAN9/bin $path )
base=.
-fn die {- echo error: $* >[1=2]
- exit 1
-}
-
-if(~ $#* 0)
- die 'Missing title'
-
if(~ $#user 0)
- user=`{whoami}+ user=`{whoami}file=(); title=();
bloguser=$user
while(! ~ $#* 0) {- switch($1) {- case -u
+ switch($1) {+ case -u
base=/gsoc/www/people/$user/blog/
- shift
- case *
- title=$"*
- }
+ case -b
+ shift
+ base=$1
+ case -f
+ shift
+ file=$1
+ }
shift
}
-date=`{/bin/date +%F}+if(~ $"EDITOR '')
+ EDITOR=vi
-n=1
-for(f in $base/$date-*) {- i=`{echo $f | sed -n 's|^.*/'$date'-([0-9]+)_.*|\1|p'}- if(! ~ $#i 0 && test $i -ge $n)
- n=`{hoc -e $i'+1'}+if(~ $#file 0 || ! test -f $file) {+ file=/tmp/blogtmp.$pid
+ rm $file >[2]/dev/null
+ touch $file
}
-if(~ $EDITOR '')
- EDITOR=vi
-
-file=$home/.blogtmp.$pid
-rm $file >[2]/dev/null
-touch $file
$EDITOR $file
ispell $file
rm $file.bak >[2]/dev/null
+fn mkbpost {+ umask 002 # Let group write
+ bptext=$1
+ if(! ~ $#2 0)
+ bpid=`{echo -n '-'^$"bpid | sed 's/'$forbidden_uri_chars'+/_/g; 1q'}+ d=`{/bin/date +%F|sed 's,-,/,g'}+
+ ddir=$blagh_root^$d^'/'
+ n=`{ls $ddir >[2]/dev/null |wc -l}+
+ mkdir -p $ddir/$"n^$"bpid/
+ {+ # TODO: Enable metadata
+ #echo '* Posted:' `{date}+ #if(! ~ $#logged_user 0)
+ # echo '* Author: '$logged_user
+ cat $bptext
+ }> $ddir/$"n^$"bpid/index.md
+}
-title = `{ echo $"title | sed 's/ /_/g' }+forbidden_uri_chars='[^a-zA-Z0-9_+\-\/\.]'
+blagh_root=$base
-title = `{echo $"title | sed 's/[ ]+/_/g; 1q'}-
-mv $file $base/$"date^'-'^$"n^_$"title.md
-
+if(test -s $file)
+ mkbpost $file
+if not
+ echo Empty file!
--
⑨