#!/usr/bin/env bash BUILD=.build/ function extract_metadata() { local name=$1 local file=$2 local val=$(sed -nE "/^--${name}: .+$/s/^--${name}: (.+)$/\1/p" $file) if [ -z "$val" ]; then echo "" return 1 else echo "$val" return 0 fi } function mktemp_file() { local name=$1 local var=$(mktemp -p $BUILD "${name}_XXXXXX") echo "${var}" return 0 } function extract_title() { sed -n -E "1,/<\/h1>/s/.*

(.+)<\/h1>.*/\1/p1" $1 } function generate_index() { local base_dir=$1 echo "Generating index for $base_dir" local page_file=$(mktemp_file "index_page") local content_file=$(mktemp_file "index_content") local indexed_files=$(mktemp_file "indexed_files") local title=$(basename ${base_dir}) echo "

${title} index

" >> $content_file sed -i "s,${base_dir},.,g" $content_file generate_page "index" $content_file $page_file # strip out the footer sed -i '1,/<\/footer>/{/