From 9acbe935ad32554bb62ca483ca84106c1c32d231 Mon Sep 17 00:00:00 2001 From: Uriel Date: Tue, 29 May 2007 04:04:05 +0200 Subject: [PATCH] Major update of scripts --- bin/controller.rc | 59 +++++++++++++++++++++++++++++++++++--------- bin/gensitemaptxt.sh | 5 ++-- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/bin/controller.rc b/bin/controller.rc index b67cf95..ccafa01 100755 --- a/bin/controller.rc +++ b/bin/controller.rc @@ -7,7 +7,10 @@ args=`{echo $args | tr -d ' cd .. -# config +# default config +site=$SERVER_NAME +sitedir=sites/$site +headers=inc/headers.tpl body=index siteTitle='' siteSubTitle='' @@ -23,31 +26,37 @@ if (! ~ $#args 0 && ! ~ $args '') { body=`{ echo -n $"args |sed 's, ,/,g' } } -l=tpl -for ( i in $args ) { +l=$sitedir +for ( i in / $args ) { l = $l'/'$i if ( test -f $l/_config ) { . $l/_config } } -template=tpl/$template.tpl -if (! ~ $sidebar 0) { sidebar=tpl/_inc/$sidebar.tpl } -if (test -d tpl/$body) { +template=$sitedir/$template.tpl +if (! ~ $#sidebar 0) { sidebar=tpl/_inc/$sidebar.tpl } +if (test -d $sitedir/$body) { body=$body/index } -body=`{echo tpl/^$"body^.md | sed 's, ,/,' } +body=`{echo $sitedir/^$"body^.md | sed 's, ,/,' } +# Title +fn gentitle { +echo '

'$"siteTitle' '$"siteSubTitle'

' +} + # Sidebar fn menu { - ls -F $1 | sed -e 's,^./,,' -e 's,\.md$,,' | grep -v '^_'| awk ' + ls -F $1 | grep -v '/_[^/]*' | sed -e 's,^./,,' -e 's,\.md$,,' | awk ' BEGIN { print "" } /^([a-zA-Z0-9_\-]+[\/*]?)+$/ && ! /index$/ { isdir = match($0, "/$") sub("[*/]$", "") # The '*' makes no sense to me + d = "" if(isdir) d = "/" bname = $0 @@ -58,7 +67,7 @@ fn menu { if(index(ENVIRON["REQUEST_URI"], "/" $0) == 1) { if(isdir) { - print "
  • » " bname "" + print "
  • » " bname "" system("rc -c ''menu " $0 "''") } else { print "
  • » " bname "" @@ -73,15 +82,41 @@ fn menu { } fn gensidebar { - echo '

    Considered harmful:

    ' - cd tpl + d=`{pwd} + cd $sitedir menu . - cd .. + cd $d } # Body +fn genbody { + if ( test -f $body ) { cat $body | markdown.pl } + if not { + if ( ~ $body */index.md ) { + echo '

    ' `{basename `{basename -d $body}}'

    ' + echo '' + } + if not { template.awk inc/404.tpl | rc } + } + + ld = `{basename -d $body }^/_log/ + if ( test -d $ld ) { + for ( i in `{ ls $ld/ | grep '.*\.md$'| sort -n } ) { + t=`{basename $i|sed -e 's/[0-9\-]*_//' -e 's,\.md$,,' -e 's/_/ /' } + d=`{ls -l $i |awk '{print $7 " " $8 " " $9}'} + u=`{ls -l $i |awk '{print $4 }'} + echo '

    ' $"t 'by '$"u' - '$"d'

    ' + cat $i | markdown.pl + echo '
    ' + } + } +} + +template.awk $headers | rc template.awk $template | rc diff --git a/bin/gensitemaptxt.sh b/bin/gensitemaptxt.sh index 4e4214c..f892765 100755 --- a/bin/gensitemaptxt.sh +++ b/bin/gensitemaptxt.sh @@ -1,4 +1,5 @@ #!/bin/sh - -find . -name '*.md'|sed -e 's/\.md$//' -e 's,/index$,/,' -e 's,^\.,http://harmful.cat-v.org,' +for d in sites/*/; do + find $d -name '*.md'|sed -e 's/\.md$//' -e 's,/index$,/,' -e 's,^sites/,http://,' > $d/sitemap.txt +done