| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function texinfo_updateSectionNodes { |
| |
| |
| local NODEFILE=$(echo $MENUFILE | sed -r "s,-menu,-nodes,") |
| |
| |
| |
| local NODES=$(cat ${MENUFILE} \ |
| | sed -r 's!^\* !!' | sed -r 's!:{1,2}.*$!!g' \ |
| | egrep -v '^@(end )?menu$' | sed -r 's! !:!g') |
| |
| |
| for NODE in $NODES;do |
| |
| local NODE=$(echo "${NODE}" | sed -r 's!:! !g') |
| local INCL=$(echo "${NODE}" | sed -r -e 's! !/!' -e 's! !-!g' -e's!/(.+)!/\L\1!').${MANUAL_EXTENSION} |
| local SECT=$(texinfo_getEntryTitle "$NODE") |
| local CIND=$(texinfo_getEntryIndex "$NODE") |
| |
| |
| local TEMPLATE='' |
| |
| |
| |
| |
| |
| |
| if [[ ! -f ${MANUAL_BASEDIR_L10N}/$INCL ]] \ |
| && [[ $(cli_runFnEnvironment vcs --status ${MANUAL_BASEDIR_L10N}/$INCL) != 'D' ]];then |
| |
| |
| |
| |
| |
| local CONFLINE='' |
| local CONFLINES=$(cli_getConfigLines "${MANUAL_CONFIG_FILE}" "templates" "*") |
| |
| |
| |
| local CONFLHS='' |
| local CONFRHS='' |
| |
| |
| |
| |
| |
| for CONFLINE in $CONFLINES;do |
| |
| CONFLHS=$(echo $CONFLINE \ |
| | gawk 'BEGIN{FS="="}; { print $1 }' \ |
| | sed -r 's![[:space:]]*!!g') |
| |
| CONFRHS=$(echo $CONFLINE \ |
| | gawk 'BEGIN{FS="="}; { print $2 }' \ |
| | sed -r -e 's![[:space:]]*!!g' -e 's!^"(.+)"$!\1!') |
| |
| if [[ ${MANUAL_BASEDIR_L10N}/${INCL} =~ $CONFRHS ]];then |
| TEMPLATE="${MANUAL_TEMPLATE_L10N}/${CONFLHS}" |
| break |
| fi |
| |
| done |
| |
| |
| |
| |
| cli_checkFiles -e ${TEMPLATE} |
| |
| |
| |
| cli_runFnEnvironment vcs --copy --quiet ${TEMPLATE} ${MANUAL_BASEDIR_L10N}/$INCL |
| |
| fi |
| |
| |
| cli_expandTMarkers "${MANUAL_BASEDIR_L10N}/$INCL" |
| |
| |
| |
| |
| |
| |
| |
| |
| sed -i -r \ |
| -e '/^@node/c@node =NODE=' \ |
| -e '/^@section/c@section =SECT=' \ |
| -e '0,/^@cindex/c@cindex =CIND=' \ |
| "${MANUAL_BASEDIR_L10N}/$INCL" |
| |
| |
| |
| |
| |
| NODE=$(echo "$NODE" | sed -r 's/\//\\\//g') |
| SECT=$(echo "$SECT" | sed -r 's/\//\\\//g') |
| CIND=$(echo "$CIND" | sed -r 's/\//\\\//g') |
| |
| |
| |
| sed -i -r \ |
| -e "s/=NODE=/${NODE}/g" \ |
| -e "s/=SECT=/${SECT}/g" \ |
| -e "s/=CIND=/${CIND}/g" \ |
| "${MANUAL_BASEDIR_L10N}/$INCL" |
| |
| |
| |
| |
| cli_checkFiles -e ${MANUAL_TEMPLATE_L10N}/Chapters-nodes.${MANUAL_EXTENSION} |
| |
| |
| cat ${MANUAL_TEMPLATE_L10N}/Chapters-nodes.${MANUAL_EXTENSION} \ |
| | sed -r "s!=INCL=!${INCL}!g" |
| |
| |
| done > ${NODEFILE} |
| |
| } |