Skip to content

Commit

Permalink
Index terms
Browse files Browse the repository at this point in the history
  • Loading branch information
Louie S committed Jan 16, 2024
1 parent 10a6815 commit 2d1e8a2
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 3 deletions.
8 changes: 6 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,13 @@ $(DOCUMENTS_DIR): $(RESOURCES_DIR) $(MANUAL_FILE)
$(INFO_PLIST_FILE): src/Info.plist $(CONTENTS_DIR)
cp src/Info.plist $@

$(INDEX_FILE): src/index.sh $(DOCUMENTS_DIR)
$(INDEX_FILE): src/index-pages.sh src/index-terms.sh $(DOCUMENTS_DIR)
rm -f $@
src/index.sh $@ $(DOCUMENTS_DIR)/*.html
src/index-pages.sh $@ $(DOCUMENTS_DIR)/*.html
src/index-terms.sh "Type" "elementary" $@ $(DOCUMENTS_DIR)/Reference-manual.html
src/index-terms.sh "Function" "functions" $@ $(DOCUMENTS_DIR)/Reference-manual.html
src/index-terms.sh "Builtin" "builtin" $@ $(DOCUMENTS_DIR)/Reference-manual.html
src/index-terms.sh "Object" "returned" $@ $(DOCUMENTS_DIR)/Reference-manual.html

$(ICON_FILE): src/icon.png $(DOCSET_DIR)
cp $(SRC_ICON) $@
1 change: 0 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ To generate a docset from the latest edition of the Meson Manual:
Requirements:

- any POSIX-compliant shell
- curl - https://curl.se/
- make - https://www.gnu.org/software/make/
- pup - https://tracker.debian.org/pkg/pup
- sqlite3 - https://www.sqlite.org/index.html
File renamed without changes.
37 changes: 37 additions & 0 deletions src/index-terms.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env sh

# shellcheck source=./lib/create_table
. "$(dirname "$0")"/lib/create_table
# shellcheck source=./lib/insert
. "$(dirname "$0")"/lib/insert

TYPE="$1"
shift
CATEGORY="$1" # should refer to how the href is "Reference-manual_$CATEGORY"
shift
DB_PATH="$1"
shift

insert_index_terms() {
# Get each term from an index page and insert
while [ -n "$1" ]; do
while read -r line; do
if echo "$line" | pup -p 'a' | grep -Eoq "Reference-manual_$CATEGORY"; then
insert_term "$line"
fi
done < "$1"

shift
done
}

insert_term() {
LINK="$1"
NAME="$(echo "$LINK" | pup -p 'a text{}' | sed 's/\"\"//g' | tr -d \\n)"
PAGE_PATH="$(echo "$LINK" | pup -p 'a attr{href}')"

insert "$DB_PATH" "$NAME" "$TYPE" "$PAGE_PATH"
}

create_table "$DB_PATH"
insert_index_terms "$@"

0 comments on commit 2d1e8a2

Please sign in to comment.