diff options
Diffstat (limited to 'src/index.sh')
-rwxr-xr-x | src/index.sh | 63 |
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 '&' with '&' sed 's/&/&/g' | \ + # ReplACE '–' with '-' + sed 's/–/-/g' | \ #Replace '<' with '<' sed 's/</</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 "$@" |