summaryrefslogtreecommitdiff
path: root/src/index-pages.sh
blob: 53c35ee67989da7a8807098a15d9cb6d4cff8328 (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
43
44
45
46
47
48
49
50
51
52
53
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 "$@"