diff options
author | Louie Shprung <lshprung@scu.edu> | 2023-03-26 13:58:50 -0700 |
---|---|---|
committer | Louie Shprung <lshprung@scu.edu> | 2023-03-26 13:58:50 -0700 |
commit | 3c530aafe415db3515465e8b0662373065afd925 (patch) | |
tree | 3d6a4407c10d1b25abc17b3729c94c27b15488b2 /src/index-page.sh | |
parent | 78056b724b9a5591ea2361429ed2d83b2e528dcf (diff) |
Index terms
Diffstat (limited to 'src/index-page.sh')
-rwxr-xr-x | src/index-page.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/index-page.sh b/src/index-page.sh new file mode 100755 index 0000000..e26cdf8 --- /dev/null +++ b/src/index-page.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env sh + +# shellcheck source=./lib/create_table +. "$(dirname "$0")"/lib/create_table +# shellcheck source=./lib/insert +. "$(dirname "$0")"/lib/insert + +DB_PATH="$1" +shift + +get_title() { + FILE="$1" + + pup -p -f "$FILE" 'title text{}' | \ + sed 's/(Lexical Analysis With Flex.*)//' | \ + tr -d \\n | \ + sed 's/\"/\"\"/g' +} + +get_type() { + PAGE_NAME="$1" + + case "$PAGE_NAME" in + option-*) + echo "Option" + ;; + *) + echo "Guide" + esac +} + +insert_pages() { + # Get title and insert into table for each html file + while [ -n "$1" ]; do + unset PAGE_NAME + unset PAGE_TYPE + PAGE_NAME="$(get_title "$1")" + + # determine type + case "$PAGE_NAME" in + option-*) + PAGE_TYPE="Option" + PAGE_NAME="$(echo "$PAGE_NAME" | sed 's/^option-//')" + ;; + unnamed-* | deleteme* | ERASEME*) + shift + continue + ;; + *) + PAGE_TYPE="Guide" + esac + + if [ -n "$PAGE_NAME" ]; then + insert "$DB_PATH" "$PAGE_NAME" "$PAGE_TYPE" "$(basename "$1")" + fi + shift + done +} + +create_table "$DB_PATH" +insert_pages "$@" |