| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function texinfo_updateSectionMenu { |
| |
| |
| |
| local ACTION="$1" |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| local MANUAL_SECTION_ORDER=$(cli_getConfigValue "${MANUAL_CONFIG_FILE}" "main" "manual_section_order") |
| if [[ ! $MANUAL_SECTION_ORDER =~ '^(created|ordered|reversed)$' ]];then |
| MANUAL_SECTION_ORDER='created' |
| fi |
| |
| |
| local MENUNODE=$(texinfo_getEntryNode "$MANUAL_ENTRY") |
| |
| |
| |
| local MENULINE="* ${MENUNODE}::" |
| |
| |
| |
| local MENU=$(cat $(dirname ${MANUAL_ENTRY})/chapter-menu.${MANUAL_EXTENSION} \ |
| | egrep -v '^[[:space:]]*$' | egrep -v '^@(end )?menu') |
| |
| |
| |
| case $ACTION in |
| |
| --delete-entry ) |
| |
| MENU="$(echo "$MENU" | egrep -v "$MENULINE")" |
| ;; |
| |
| --add-entry | * ) |
| |
| MENU="$(echo "$MENU" | egrep -v "$MENULINE" ) |
| ${MENULINE}" |
| ;; |
| |
| esac |
| |
| |
| |
| MENU=$(echo "$MENU" | sed -r 's!^[[:space:]]+!!g' \ |
| | egrep -v '^[[:space:]]*$') |
| |
| |
| case $MANUAL_SECTION_ORDER in |
| |
| 'ordered' ) |
| MENU="$(echo "$MENU" | sort )" |
| ;; |
| |
| 'reversed' ) |
| MENU="$(echo "$MENU" | sort -r )" |
| ;; |
| |
| esac |
| |
| |
| |
| MENU="@menu |
| $MENU |
| @end menu" |
| |
| |
| |
| MENU=$(echo "$MENU" | sed -r 's!^[[:space:]]+!!g' \ |
| | egrep -v '^[[:space:]]*$') |
| |
| |
| |
| echo "$MENU" > $(dirname ${MANUAL_ENTRY})/chapter-menu.${MANUAL_EXTENSION} |
| |
| } |