ref: 0b27988652874a51f1edd896f421afdf40ba5e3d
parent: 62126ee86483d00b8a6e0f49d30b001f6deeb428
author: uriel <uriel@engel.se.cat-v.org>
date: Sun Jun 3 03:36:01 EDT 2007
Move functions near the top, allow .tpl files to be parsed on the fly and dont expect .md files everywhere, move some things into functions
--- a/bin/controller.rc
+++ b/bin/controller.rc
@@ -15,33 +15,10 @@
siteTitle=''
siteSubTitle=''
title=''
-template=default
+template=_default
sidebar=sidebar
-. etc/initrc
-if (! ~ $#args 0 && ! ~ $args '') {- title=$args($#args)
- title=`{echo $title | sed 's/_/ /g' }- body=`{ echo -n $"args |sed 's, ,/,g' }-}
-
-l=$sitedir
-for ( i in / $args ) {- l = $l'/'$i
- if ( test -f $l/_config ) {- . $l/_config
- }
-}
-
-template=$sitedir/$template.tpl
-if (! ~ $#sidebar 0) { sidebar=tpl/_inc/$sidebar.tpl }-if (test -d $sitedir/$body) {- body=$body/index
-}
-body=`{echo $sitedir/^$"body^.md | sed 's, ,/,' }-
-
# Title
fn gentitle {echo '<h1 class="headerTitle"><a href="/">'$"siteTitle' <span id="headerSubTitle">'$"siteSubTitle'</span></a></h1>'
@@ -88,15 +65,20 @@
cd $d
}
+fn sortedBlogPostList {+ ls $*^'/./' | grep '[0-9]+.*\.md$'| sort -r -t. +1
+}
# Body
fn genbody {- if ( test -f $body ) { - cat $body | markdown.pl
+ if ( test -f $"body^'.md' ) { + cat $"body^'.md' | markdown.pl
}
+ if not if ( test -f $"body^'.tpl' )
+ template.awk $"body^'.tpl' | rc
if not { - if ( ! ~ $blog 'yes' ) {- if ( ~ $body */index.md ) {+ if ( ~ $#blogDirs 0 ) {+ if ( ~ $body */index ) { echo '<h1>' `{basename `{basename -d $body}}'</h1>'echo '<ul>'
ls -F `{ basename -d $body } |grep -v '(^\.|/_[^/]*$)' | sed -e 's,^./,,' -e 's,\.md$,,' -e 's,^'$sitedir'/([^/]*[/]?)+,<li><a href="\1">\1</a></li>,'@@ -106,12 +88,12 @@
}
}
- if ( ~ $blog 'yes' && ~ $body */index.md ) {+ if (! ~ $#blogDirs 0 && ~ $body */index ) {if ( ! ~ $#blogTitle 0 )
echo '<h1>'$"blogTitle'</h1>'
# the /./ is added so we can sort -t. and order only the file name
- for ( i in `{ ls $blogDirs^'/./' | grep '[0-9]+.*\.md$'| sort -r -t. +1 } ) {- t=`{basename $i|sed -e 's/^[0-9\-]*_//' -e 's,\.md$,,' -e 's/_/ /g' }+ for ( i in `{ sortedBlogPostList $blogDirs } ) {+ t=`{basename $i|sed -e 's/^[0-9\-]*_(.*)\.md$/\1/' -e 's/_/ /g' } du=`{ls -l $i }#echo '<h2>' $"t '<small style="font-size: 70%">by '$"$du(4)' (Last mod: '$du(7) $du(8) $du(9)')</small></h2>'
echo '## ' $"t '*(By '$du(4)' Last mod: ' ( $du(7 8 9) ) ')*'
@@ -120,6 +102,32 @@
} | markdown.pl
}
}
+
+
+. etc/initrc
+
+if (! ~ $#args 0 && ! ~ $args '') {+ title=$args($#args)
+ title=`{echo $title | sed 's/_/ /g' }+ body=`{ echo -n $"args |sed 's, ,/,g' }+}
+
+l=$sitedir
+for ( i in / $args ) {+ l = $l'/'$i
+ if ( test -f $l/_config ) {+ . $l/_config
+ }
+}
+
+template=$sitedir/$template.tpl
+if (! ~ $#sidebar 0) { sidebar=tpl/_inc/$sidebar.tpl }+if (test -d $sitedir/$body) {+ body=$body/index
+}
+body=`{echo $sitedir/^$"body | sed 's, ,/,' }+
+
template.awk $headers | rc
template.awk $template | rc
--
⑨