#!/bin/sh
TARGET="$1"
SOURCE="$2"
META=${SOURCE%.*}.meta
cat templates/beforetitle > "$1"

metadata() {
    XA=$(echo "$2" | sed -e 's/\//\\\//g')
    XB=$(echo "$3" | sed -e 's/\//\\\//g')
    grep "$1" "$META"|cut -f2 -d:|sed -e 's/^ */'"$XA"'/g;s/ *$/'"$XB"'/g' >> "$TARGET"
}
xmetadata() {
    grep "$1" "$2"|cut -f2 -d:|sed -e 's/^ *//g;s/ *$//g'
}
MAINTITLE=$(xmetadata ^MainTitle: index.meta)
metadata ^Title: '<title>' ' · '$APPEND'</title>'
metadata ^Keywords: '<meta name="keywords" content="' '" />'
metadata ^Author: '<meta name="author" content="' '" />'

echo '</head>' >> "$TARGET"
cat templates/bodystart >> "$1"
echo '<a class="brand" href="./index.html">'"$MAINTITLE"'</a>' >> "$TARGET"
echo '<div class="nav-collapse collapse"><ul class="nav">' >> "$TARGET"
for i in $(xmetadata ^Components index.meta); do
        if [ "$i.meta" = "$META" ]; then
            ACTIVE="active"
        else
            ACTIVE=""
        fi
        echo '<li class="'$ACTIVE'"><a href="./'${i}.html'">' >> "$TARGET"
        xmetadata "^Title:" "$i.meta" >> "$TARGET"
        echo '</a></li>' >> "$TARGET"
done
echo '</ul></div></div></div></div>' >> "$TARGET"
echo '<header class="jumbotron subhead" id="overview"><div class="container">' >> "$TARGET"
metadata ^Title: '<h1>' '</h1>'
head -n 1 "$SOURCE" | sed -e 's|<p>|<p class="lead">|g' >> "$TARGET"
echo '</div></header>' >> "$TARGET"
echo '<div class="container">' >> "$TARGET"
echo '<div class="row"><div class="span3 bs-docs-sidebar"><ul class="nav nav-list bs-docs-sidenav">' >> "$TARGET"
grep '^<section class="level1" id="' "$SOURCE"| cut -f4 -d'"' | while read a; do
    HTITLE=$(grep -A 1 '^<section class="level1" id="'"$a" "$SOURCE"|grep '<h1>'|cut -f2 -d'>'|cut -f1 -d'<')
    echo '<li><a href="#'"$a"'"><i class="icon-chevron-right"></i>'"$HTITLE"'</a></li>'>> "$TARGET"
done
echo '</ul></div><div class="span9">' >> "$TARGET"

sed -e '1 d' < "$SOURCE" | perl -pe 's|<pre><code>!!~~~~*(.*)</code></pre>|</div></div><div class="row"><div class="\1">|g;s|<pre><code>!~~~~*!(.*)</code></pre>|</div><div class="\1">|g;s|<pre><code>~~~~*!!</code></pre>|</div></div><div class="row"><div class="span9 offset3">|g;s/{([^}]*)}&quot;(.*?)&quot;/<span class="\2">\1<\/span>/g' >> "$TARGET"

cat templates/bodyend >> "$TARGET"
