summaryrefslogtreecommitdiff
path: root/src/index_pages.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/index_pages.sh')
-rwxr-xr-xsrc/index_pages.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/index_pages.sh b/src/index_pages.sh
new file mode 100755
index 0000000..030bda5
--- /dev/null
+++ b/src/index_pages.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env sh
+
+# shellcheck source=./lib/create_table
+. "$(dirname "$0")"/lib/create_table
+# shellcheck source=./lib/insert
+. "$(dirname "$0")"/lib/insert
+# shellcheck source=./lib/get_type
+. "$(dirname "$0")"/lib/get_type
+
+DB_PATH="$1"
+shift
+
+get_title() {
+ FILE="$1"
+
+ pup -p -f "$FILE" 'title text{}' | \
+ tr -d \\n | \
+ #Remove trailing man categories
+ sed 's/ [0-9][mx]\?$//g' | \
+ sed 's/\"/\"\"/g'
+}
+
+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")"
+ if [ -n "$PAGE_NAME" ]; then
+ PAGE_TYPE="$(get_type "$1")"
+ if [ -z "$PAGE_TYPE" ]; then
+ PAGE_TYPE="Guide"
+ fi
+ insert "$DB_PATH" "$PAGE_NAME" "$PAGE_TYPE" "$(echo "$1" | sed 's/^ncurses.docset\/Contents\/Resources\/Documents\///')"
+ fi
+ shift
+ done
+}
+
+create_table "$DB_PATH"
+insert_pages "$@"