summaryrefslogtreecommitdiff
path: root/src/index_pages.sh
blob: 030bda57aa6fe53c7d8bfaa92c6150b56b579eb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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 "$@"