From bd9abbe4eb94b9c77865bd28bf73ec6eb0b39a95 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 2 Apr 2015 17:34:26 -0700 Subject: Fix #15: add compile support for indeces --- trunk/first-lines.sh | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'trunk/first-lines.sh') diff --git a/trunk/first-lines.sh b/trunk/first-lines.sh index 50b0e0c..37b7291 100644 --- a/trunk/first-lines.sh +++ b/trunk/first-lines.sh @@ -1,17 +1,27 @@ #!/bin/bash -outFile=src/first-lines.txt +outFile="$1"; +header="$2"; +shift 2; +glob="$@"; -echo "" > $outFile +firstLineOf() { # $1 = file + endOfYaml=$(sed -n '/^\.\.\.$/=' "$1") + tryLineNumber=$((endOfYaml + 1)) + try="" + while [[ -z $try ]]; do + try=$(head -n $tryLineNumber "$1" | tail -n 1 |\ + sed -e 's/^[|>] //' -e 's/[][]//g' -e 's/^#.*//' -e 's/^--.*//') + (( tryLineNumber += 1 )) + done + echo "$try" +} -for file in src/*.txt; do - echo -n "Getting first line of $file .. " - endOfYAML=$(sed -n '/^\.\.\.$/=' "$file") - firstLineNumber=$((endOfYAML + 2)) +echo -n "Compiling ${outFile}..." +cat "$header" > $outFile - echo "$file: " >> $outFile - echo " $(head -n $firstLineNumber "$file" | tail -n 1)" >> $outFile - - unset endOfYAML firstLineNumber - echo "Done." +for file in $glob; do + # Copy first line to $outFile & link + echo "[$(firstLineOf "$file")](${file%.*}.html)" >> $outFile done +echo "Done." -- cgit 1.4.1-21-gabe81