summaryrefslogtreecommitdiff
path: root/src/index-pages.sh
diff options
context:
space:
mode:
authorLouie S <louie@example.com>2024-06-21 16:21:34 -0400
committerLouie S <louie@example.com>2024-06-21 16:21:34 -0400
commitaa014d9c128cbc95ca5d6c0522cd3704629a1f11 (patch)
tree2b07c921a08fd9045bfb01a4efec9c735942ef13 /src/index-pages.sh
parent27fe42030ff1fbf39820ea5673f19f822957096f (diff)
Modularize get_title
Diffstat (limited to 'src/index-pages.sh')
-rwxr-xr-xsrc/index-pages.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/index-pages.sh b/src/index-pages.sh
new file mode 100755
index 0000000..53c35ee
--- /dev/null
+++ b/src/index-pages.sh
@@ -0,0 +1,54 @@
+#!/usr/bin/env sh
+
+# shellcheck source=../../../scripts/create_table.sh
+. "$(dirname "$0")"/../../../scripts/create_table.sh
+# shellcheck source=../../../scripts/get_title.sh
+. "$(dirname "$0")"/../../../scripts/get_title.sh
+# shellcheck source=../../../scripts/insert.sh
+. "$(dirname "$0")"/../../../scripts/insert.sh
+
+DB_PATH="$1"
+shift
+
+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" | sed 's/ (Lexical Analysis With Flex.*)//')"
+
+ # 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 "$@"