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