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!