blob: d3226ecad9f5d60770f380d8898a6a290956248d (
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
|
#!/usr/bin/env sh
# shellcheck source=../../../scripts/create_table.sh
. "$(dirname "$0")"/../../../scripts/create_table.sh
# shellcheck source=../../../scripts/insert.sh
. "$(dirname "$0")"/../../../scripts/insert.sh
DB_PATH="$1"
shift
get_title() {
FILE="$1"
PATTERN="<.*class=\"title\">.*"
#Find pattern in file
grep -Eo "$PATTERN" "$FILE" |
#Remove tag
sed 's/<[^>]*>//' | \
#Remove trailing space
sed 's/[ ]*$//g' | \
#Replace '&' with '&'
sed 's/&/&/g'
}
insert_pages() {
# Get titles and insert into table for each html file
while [ -n "$1" ]; do
unset PAGE_NAME
PAGE_NAME="$(get_title "$1")"
echo "$PAGE_NAME" | while read -r line; do
if [ -n "$line" ]; then
unset TITLE
TITLE="$(echo "$line" | sed 's/<[^>]*>//g' | sed -E 's/^Chapter |Appendix //' | sed 's/^[A-Z0-9]\.[^ ]* //')"
unset LINK
LINK="$(basename "$1")#$(echo "$line" | sed 's/^.\{7\}//' | sed 's/\"\/>.*//')"
insert "$DB_PATH" "$TITLE" "Guide" "$LINK"
fi
done
shift
done
}
create_table "$DB_PATH"
insert_pages "$@"
|