summaryrefslogtreecommitdiff
path: root/src/index.sh
diff options
context:
space:
mode:
authorLouie Shprung <lshprung@scu.edu>2022-12-30 12:48:13 -0800
committerLouie Shprung <lshprung@scu.edu>2022-12-30 12:48:13 -0800
commit234d8b9d0fb568e2ad0f6ec9b88fbae87e7145ae (patch)
tree75a3b7b2b9c3009db34b17fe6308f9c1e63019e9 /src/index.sh
parent790b9753775c20fd007dacc94b4c3860cf59dff1 (diff)
Rudimentary docset creation
Diffstat (limited to 'src/index.sh')
-rwxr-xr-xsrc/index.sh63
1 files changed, 39 insertions, 24 deletions
diff --git a/src/index.sh b/src/index.sh
index e81a0f7..e506ae4 100755
--- a/src/index.sh
+++ b/src/index.sh
@@ -6,7 +6,7 @@ shift
get_title() {
FILE="$1"
- PATTERN="<title>.*\(Autoconf\).*</title>"
+ PATTERN="<[tT][iI][tT][lL][eE]>.*</[tT][iI][tT][lL][eE]>"
#Find pattern in file
grep -Eo "$PATTERN" "$FILE" |
@@ -18,6 +18,8 @@ get_title() {
sed 's/[ ]*$//g' | \
#Replace '&amp' with '&'
sed 's/&amp/&/g' | \
+ # ReplACE '&ndash;' with '-'
+ sed 's/&ndash;/-/g' | \
#Replace '&lt;' with '<'
sed 's/&lt;/</g'
}
@@ -27,13 +29,13 @@ get_type() {
PATTERN="The node you are looking for is at.*Limitations-of-.*\.html;Builtin
The node you are looking for is at;Macro"
- echo "$PATTERN" | while read -r line; do
- #echo "$line"
- if grep -Eq "$(echo "$line" | cut -d ';' -f 1)" "$FILE"; then
- echo "$line" | cut -d ';' -f 2
- break
- fi
- done
+ #echo "$PATTERN" | while read -r line; do
+ # #echo "$line"
+ # if grep -Eq "$(echo "$line" | cut -d ';' -f 1)" "$FILE"; then
+ # echo "$line" | cut -d ';' -f 2
+ # break
+ # fi
+ #done
}
insert() {
@@ -44,23 +46,36 @@ insert() {
sqlite3 "$DB_PATH" "INSERT INTO searchIndex(name, type, path) VALUES (\"$NAME\",\"$TYPE\",\"$PAGE_PATH\");"
}
+# Get title and insert into table for each html file
+main() {
+ while [ -n "$1" ]; do
+ unset PAGE_NAME
+ unset PAGE_TYPE
+
+ echo "FILE: $1"
+ # Recurse into subdirectories
+ if [ -d "$1" ]; then
+ main "$1"/*
+ else
+ PAGE_NAME="$(get_title "$1")"
+ if [ -n "$PAGE_NAME" ]; then
+ PAGE_TYPE="$(get_type "$1")"
+ #get_type "$1"
+ if [ -z "$PAGE_TYPE" ]; then
+ PAGE_TYPE="Guide"
+ fi
+ echo "$PAGE_NAME"
+ echo "$PAGE_TYPE"
+ insert "$PAGE_NAME" "$PAGE_TYPE" "$(echo "$1" | sed 's/^ncurses.docset\/Contents\/Resources\/Documents\///')"
+ fi
+ fi
+
+ shift
+ done
+}
+
# Create table
sqlite3 "$DB_PATH" "CREATE TABLE searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT);"
sqlite3 "$DB_PATH" "CREATE UNIQUE INDEX anchor ON searchIndex (name, type, path);"
-# 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")"
- #get_type "$1"
- if [ -z "$PAGE_TYPE" ]; then
- PAGE_TYPE="Guide"
- fi
- #echo "$PAGE_TYPE"
- insert "$PAGE_NAME" "$PAGE_TYPE" "$(basename "$1")"
- fi
- shift
-done
+main "$@"