diff --git a/bin/controller.rc b/bin/controller.rc index 768bbea..2402a8c 100755 --- a/bin/controller.rc +++ b/bin/controller.rc @@ -8,6 +8,8 @@ ifs='/' { cd .. # default config +formater=markdown.pl +formater=md_cache # markdown cacher site=$SERVER_NAME sitedir=sites/$site headers=inc/headers.tpl @@ -83,8 +85,8 @@ fn blogTitle { fn genbody { if ( test -f $body.md ) { if ( ! ~ $#inBlog 0 ) - blogTitle $body.md | markdown.pl - markdown.pl < $body.md + blogTitle $body.md | $formater + $formater < $body.md } if not if ( test -f $body.tpl ) template.awk $body.tpl | rc $rcargs @@ -116,7 +118,7 @@ fn genbody { blogTitle $f cat $f echo - } | markdown.pl + } | $formater } } diff --git a/bin/md_cache b/bin/md_cache new file mode 100755 index 0000000..4e23349 --- /dev/null +++ b/bin/md_cache @@ -0,0 +1,17 @@ +#!/bin/rc +. 9.rc + +cachedir=/tmp/md_cache +mkdir -p $cachedir >[2]/dev/null + +tmpfile=$cachedir/mdtmp.$pid +score=`{{tee $tmpfile || exit 1} | sha1sum} +cachefile=$cachedir/$score + +if(test -f $cachefile) + cat $cachefile +if not { + markdown.pl < $tmpfile | tee $cachefile.$pid + mv $cachefile.$pid $cachefile +} +rm $tmpfile >[2]/dev/null