From 7f5a80cb6129524330e08f33265b002e02ca7469 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sun, 30 Apr 2017 11:41:59 +0000 Subject: Cleanup: Updated indenting --- webgen | 552 ++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 276 insertions(+), 276 deletions(-) diff --git a/webgen b/webgen index c1c408d..723fefa 100755 --- a/webgen +++ b/webgen @@ -49,33 +49,33 @@ LANGUAGE='' # CODE: setup() { - if [ -e $TPLS -o -e Makefile ] - then - echo 'Error: Environment already initialized.' >&2 - exit 1 - fi - mkdir $TPLS - cd $TPLS - touch \#section-index - touch \#menu-index - touch ./-menu-none - touch ./-menu-mid - { - echo '' - echo ' ' - echo ' Demo page' - echo ' ' - echo ' ' - } > ./-header - { - echo '

Demo page

' - echo '

This is the webgen demo page. This page was generated by

webgen --setup
.

' - } > ./+index - { - echo ' ' - echo '' - } > ./-end - cat > ../Makefile <<'EOL' + if [ -e $TPLS -o -e Makefile ] + then + echo 'Error: Environment already initialized.' >&2 + exit 1 + fi + mkdir $TPLS + cd $TPLS + touch \#section-index + touch \#menu-index + touch ./-menu-none + touch ./-menu-mid + { + echo '' + echo ' ' + echo ' Demo page' + echo ' ' + echo ' ' + } > ./-header + { + echo '

Demo page

' + echo '

This is the webgen demo page. This page was generated by

webgen --setup
.

' + } > ./+index + { + echo ' ' + echo '' + } > ./-end + cat > ../Makefile <<'EOL' # (mostly) Universal Makefile for webgen. # Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2009-2016 @@ -146,67 +146,67 @@ EOL } list_tpls() { - cd $TPLS - ls -1 -- +* \~* =* 2> /dev/null + cd $TPLS + ls -1 -- +* \~* =* 2> /dev/null } list_dependencies() { - cd $TPLS - - case "$1" in - '+'*|'~'*) - _tpl=`ls -1 -- "$1" 2> /dev/null` - ;; - '='*) - echo "$TPLS$1" - return - ;; - *'.'*'.html') - _mask=`echo "$1" | cut -d. -f1` - _lang=`echo "$1" | cut -d. -f2` - _tpl=`ls -1 -- ?"$_mask" 2> /dev/null` - [ "$LANGUAGE" = '' ] && LANGUAGE="$_lang" - ;; - *'.html') - _mask=`echo "$1" | cut -d. -f1` - _tpl=`ls -1 -- ?"$_mask" 2> /dev/null` - ;; - *) - _tpl="=$1" - ;; - esac - - if [ "$_tpl" = '' ] - then - echo "Template not found: $1" >&2 - exit 1 - fi - MENU=$(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#menu-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); - { - printf "%s\n" $_tpl -header -end $MENU - if [ "$LANGUAGE" != '' ] - then - ls -1 -- "#translate" "#translate.$LANGUAGE" "#translate$_tpl" "#translate$_tpl.$LANGUAGE" 2> /dev/null - fi - ls -1 -- -menu-mid \#menu-index* \#section-index* 2> /dev/null - if [ "$CLEANTPLNAME" = 'FAQ' ] - then - find FAQ/ -type d -not -wholename \*CVS\* | sed 's#^FAQ/##;' | grep -v ^$ - find FAQ/ -type f -not -wholename \*CVS\* -and -name \*.faq - fi - if [ "$CLEANTPLNAME" = 'NEWS' ] - then - ls -1 -- NEWS/*.news 2> /dev/null - fi - } | sed 's#^#tpl/#' + cd $TPLS + + case "$1" in + '+'*|'~'*) + _tpl=`ls -1 -- "$1" 2> /dev/null` + ;; + '='*) + echo "$TPLS$1" + return + ;; + *'.'*'.html') + _mask=`echo "$1" | cut -d. -f1` + _lang=`echo "$1" | cut -d. -f2` + _tpl=`ls -1 -- ?"$_mask" 2> /dev/null` + [ "$LANGUAGE" = '' ] && LANGUAGE="$_lang" + ;; + *'.html') + _mask=`echo "$1" | cut -d. -f1` + _tpl=`ls -1 -- ?"$_mask" 2> /dev/null` + ;; + *) + _tpl="=$1" + ;; + esac + + if [ "$_tpl" = '' ] + then + echo "Template not found: $1" >&2 + exit 1 + fi + MENU=$(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#menu-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); + { + printf "%s\n" $_tpl -header -end $MENU + if [ "$LANGUAGE" != '' ] + then + ls -1 -- "#translate" "#translate.$LANGUAGE" "#translate$_tpl" "#translate$_tpl.$LANGUAGE" 2> /dev/null + fi + ls -1 -- -menu-mid \#menu-index* \#section-index* 2> /dev/null + if [ "$CLEANTPLNAME" = 'FAQ' ] + then + find FAQ/ -type d -not -wholename \*CVS\* | sed 's#^FAQ/##;' | grep -v ^$ + find FAQ/ -type f -not -wholename \*CVS\* -and -name \*.faq + fi + if [ "$CLEANTPLNAME" = 'NEWS' ] + then + ls -1 -- NEWS/*.news 2> /dev/null + fi + } | sed 's#^#tpl/#' } show_help() { - echo "Usage: webgen [--preprocessor PP] [--language LANG] [{+|~|=}][TPL]" - echo " or: webgen [--language LANG] --list-dependencies [{+|~|=}]TPL" - echo " or: webgen --setup" - echo " or: webgen --list" - echo " or: webgen --help" + echo "Usage: webgen [--preprocessor PP] [--language LANG] [{+|~|=}][TPL]" + echo " or: webgen [--language LANG] --list-dependencies [{+|~|=}]TPL" + echo " or: webgen --setup" + echo " or: webgen --list" + echo " or: webgen --help" } TEMPLATES_PAGE="*" @@ -215,228 +215,228 @@ TEMPLATES_RAW="*" while [ ! -z "$1" ] do - case "$1" in - '--preprocessor') - PREPROCESSOR="$2" - shift - ;; - '--language') - if [ "$2" = 'default' ] - then - LANGUAGE='' - else - LANGUAGE="$2" - fi - shift - ;; - '--destdir') - pushd "$2" > /dev/null - OUT=`pwd` - popd > /dev/null - shift; - ;; - '--setup') - setup - exit 0 - ;; - '--list') - list_tpls - exit 0 - ;; - '--list-dependencies') - list_dependencies $2 - exit 0 - ;; - '--help') - show_help - exit 0 - ;; - '--'*) - echo "Error: Unknown option: $1" >&2 - exit 1 - ;; - '+') - TEMPLATES_PAGE="*" - TEMPLATES_DYN="NO-TEMPLATES" - TEMPLATES_RAW="NO-TEMPLATES" - ;; - '~') - TEMPLATES_PAGE="NO-TEMPLATES" - TEMPLATES_DYN="*" - TEMPLATES_RAW="NO-TEMPLATES" - ;; - '=') - TEMPLATES_PAGE="NO-TEMPLATES" - TEMPLATES_DYN="NO-TEMPLATES" - TEMPLATES_RAW="*" - ;; - '+'*) - TEMPLATES_PAGE=`echo "$1" | sed s/^.//` - TEMPLATES_DYN="NO-TEMPLATES" - TEMPLATES_RAW="NO-TEMPLATES" - ;; - '~'*) - TEMPLATES_PAGE="NO-TEMPLATES" - TEMPLATES_DYN=`echo "$1" | sed s/^.//` - TEMPLATES_RAW="NO-TEMPLATES" - ;; - '='*) - TEMPLATES_PAGE="NO-TEMPLATES" - TEMPLATES_DYN="NO-TEMPLATES" - TEMPLATES_RAW=`echo "$1" | sed s/^.//` - ;; - *'.'*'.html') - _mask=`echo "$1" | cut -d. -f1` - _lang=`echo "$1" | cut -d. -f2` - [ "$LANGUAGE" = '' ] && LANGUAGE="$_lang" - TEMPLATES_PAGE="$_mask" - TEMPLATES_DYN="$_mask" - TEMPLATES_RAW="$_mask" - ;; - *'.html') - _mask=`echo "$1" | cut -d. -f1` - TEMPLATES_PAGE="$_mask" - TEMPLATES_DYN="$_mask" - TEMPLATES_RAW="$_mask" - ;; - *) - TEMPLATES_PAGE="$1" - TEMPLATES_DYN="$1" - TEMPLATES_RAW="$1" - ;; - esac - shift + case "$1" in + '--preprocessor') + PREPROCESSOR="$2" + shift + ;; + '--language') + if [ "$2" = 'default' ] + then + LANGUAGE='' + else + LANGUAGE="$2" + fi + shift + ;; + '--destdir') + pushd "$2" > /dev/null + OUT=`pwd` + popd > /dev/null + shift; + ;; + '--setup') + setup + exit 0 + ;; + '--list') + list_tpls + exit 0 + ;; + '--list-dependencies') + list_dependencies $2 + exit 0 + ;; + '--help') + show_help + exit 0 + ;; + '--'*) + echo "Error: Unknown option: $1" >&2 + exit 1 + ;; + '+') + TEMPLATES_PAGE="*" + TEMPLATES_DYN="NO-TEMPLATES" + TEMPLATES_RAW="NO-TEMPLATES" + ;; + '~') + TEMPLATES_PAGE="NO-TEMPLATES" + TEMPLATES_DYN="*" + TEMPLATES_RAW="NO-TEMPLATES" + ;; + '=') + TEMPLATES_PAGE="NO-TEMPLATES" + TEMPLATES_DYN="NO-TEMPLATES" + TEMPLATES_RAW="*" + ;; + '+'*) + TEMPLATES_PAGE=`echo "$1" | sed s/^.//` + TEMPLATES_DYN="NO-TEMPLATES" + TEMPLATES_RAW="NO-TEMPLATES" + ;; + '~'*) + TEMPLATES_PAGE="NO-TEMPLATES" + TEMPLATES_DYN=`echo "$1" | sed s/^.//` + TEMPLATES_RAW="NO-TEMPLATES" + ;; + '='*) + TEMPLATES_PAGE="NO-TEMPLATES" + TEMPLATES_DYN="NO-TEMPLATES" + TEMPLATES_RAW=`echo "$1" | sed s/^.//` + ;; + *'.'*'.html') + _mask=`echo "$1" | cut -d. -f1` + _lang=`echo "$1" | cut -d. -f2` + [ "$LANGUAGE" = '' ] && LANGUAGE="$_lang" + TEMPLATES_PAGE="$_mask" + TEMPLATES_DYN="$_mask" + TEMPLATES_RAW="$_mask" + ;; + *'.html') + _mask=`echo "$1" | cut -d. -f1` + TEMPLATES_PAGE="$_mask" + TEMPLATES_DYN="$_mask" + TEMPLATES_RAW="$_mask" + ;; + *) + TEMPLATES_PAGE="$1" + TEMPLATES_DYN="$1" + TEMPLATES_RAW="$1" + ;; + esac + shift done cd $TPLS cat_file() { - _file="$1" - case "$PREPROCESSOR" in - none) - cat -- "$_file" - ;; - cpp) - cpp -P -o - -D__TEMPLATE__="\"$_tpl\"" -D__TEMPLATE_CLEAN__="\"$CLEANTPLNAME\"" -D __OUTPUT_FILE__="\"$OF\"" ./"$_file" - ;; - *) - echo "Error: Unknown preprocessor: $PREPROCESSOR" >&2 - ;; - esac + _file="$1" + case "$PREPROCESSOR" in + none) + cat -- "$_file" + ;; + cpp) + cpp -P -o - -D__TEMPLATE__="\"$_tpl\"" -D__TEMPLATE_CLEAN__="\"$CLEANTPLNAME\"" -D __OUTPUT_FILE__="\"$OF\"" ./"$_file" + ;; + *) + echo "Error: Unknown preprocessor: $PREPROCESSOR" >&2 + ;; + esac } gen_news() { - if [ ! -d NEWS/ ] - then - return 1 - fi - - ls -1t NEWS/*.news | while read line - do - title=`echo "$line" | sed 's/.news$//; s#^NEWS/##;'` - e=`echo "$title" | sed 's/[^a-zA-Z0-9]/_/g'` - _t=`stat --format='%Z %U' "$line"` - ctime=`echo "$_t" | cut -d' ' -f1` - user=`echo "$_t" | cut -d' ' -f2` - ctime_lr=`date --date "1970-01-01 00:00:00 UTC + ${ctime}sec"` - echo "

$title

" - echo "

$ctime_lr by $user

" - echo "

" - sed 's#^$#

#' < "$line" - echo "

" - done + if [ ! -d NEWS/ ] + then + return 1 + fi + + ls -1t NEWS/*.news | while read line + do + title=`echo "$line" | sed 's/.news$//; s#^NEWS/##;'` + e=`echo "$title" | sed 's/[^a-zA-Z0-9]/_/g'` + _t=`stat --format='%Z %U' "$line"` + ctime=`echo "$_t" | cut -d' ' -f1` + user=`echo "$_t" | cut -d' ' -f2` + ctime_lr=`date --date "1970-01-01 00:00:00 UTC + ${ctime}sec"` + echo "

$title

" + echo "

$ctime_lr by $user

" + echo "

" + sed 's#^$#

#' < "$line" + echo "

" + done } gen_faq() { - find FAQ/ -type d -not -wholename \*CVS\* | sed 's#^FAQ/##;' | grep -v ^$ | sort > "$OF.FAQCATS" - find FAQ/ -type f -not -wholename \*CVS\* -and -name \*.faq | sed 's#^FAQ/##; s#\.faq$##' | sort > "$OF.FAQINDEX" - echo - echo "" - - [ -f ./-faq_eoh ] && cat_file "-faq_eoh" - - while read cat - do - echo "

$cat

" - echo - grep "^$cat/" < "$OF.FAQINDEX" | \ - while IFS='/' read dummy q - do - e=`echo "$q" | sed 's/[^a-zA-Z0-9]/_/g'` - echo "

$q

" - echo "

" - sed 's#^$#

#' < "FAQ/$cat/$q.faq" - echo "

" - done - done < "$OF.FAQCATS" - - echo + find FAQ/ -type d -not -wholename \*CVS\* | sed 's#^FAQ/##;' | grep -v ^$ | sort > "$OF.FAQCATS" + find FAQ/ -type f -not -wholename \*CVS\* -and -name \*.faq | sed 's#^FAQ/##; s#\.faq$##' | sort > "$OF.FAQINDEX" + echo + echo "" + + [ -f ./-faq_eoh ] && cat_file "-faq_eoh" + + while read cat + do + echo "

$cat

" + echo + grep "^$cat/" < "$OF.FAQINDEX" | \ + while IFS='/' read dummy q + do + e=`echo "$q" | sed 's/[^a-zA-Z0-9]/_/g'` + echo "

$q

" + echo "

" + sed 's#^$#

#' < "FAQ/$cat/$q.faq" + echo "

" + done + done < "$OF.FAQCATS" + + echo } proc_page() { - _tpl="$1" - CLEANTPLNAME=$(echo "$_tpl" | sed 's/^[\-\+\~]//') - if [ "$LANGUAGE" = '' ] - then - LANGUAGE_SUFFIX='' - TRANSLATE_REGEX='s/(translate:\(.*\):)/\1/' - else - LANGUAGE_SUFFIX=".$LANGUAGE" - TRANSLATE_REGEX=`grep "^$LANGUAGE[[:space:]]" "#translate" "#translate$LANGUAGE_SUFFIX" "#translate$_tpl" "#translate$_tpl$LANGUAGE_SUFFIX" 2> /dev/null | sed 's/^[^\t]*\t\t*\([^\t]*\)\t\t*\(.*\)$/s|(translate:\1:)|\2|g;/'`'s/(translate:\(.*\):)/\1/' - fi - OF="$OUT"/"$CLEANTPLNAME""$LANGUAGE_SUFFIX""$PAGE_SUFFIX" - echo "Compiling $CLEANTPLNAME -> $OF" - SECTIONS=`for _sec in $(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#section-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); do O=''; for i in $(tr . ' ' <<<"$_sec"); do O="$O.$i"; echo $O; done; done`' .ALL' + _tpl="$1" + CLEANTPLNAME=$(echo "$_tpl" | sed 's/^[\-\+\~]//') + if [ "$LANGUAGE" = '' ] + then + LANGUAGE_SUFFIX='' + TRANSLATE_REGEX='s/(translate:\(.*\):)/\1/' + else + LANGUAGE_SUFFIX=".$LANGUAGE" + TRANSLATE_REGEX=`grep "^$LANGUAGE[[:space:]]" "#translate" "#translate$LANGUAGE_SUFFIX" "#translate$_tpl" "#translate$_tpl$LANGUAGE_SUFFIX" 2> /dev/null | sed 's/^[^\t]*\t\t*\([^\t]*\)\t\t*\(.*\)$/s|(translate:\1:)|\2|g;/'`'s/(translate:\(.*\):)/\1/' + fi + OF="$OUT"/"$CLEANTPLNAME""$LANGUAGE_SUFFIX""$PAGE_SUFFIX" + echo "Compiling $CLEANTPLNAME -> $OF" + SECTIONS=`for _sec in $(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#section-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); do O=''; for i in $(tr . ' ' <<<"$_sec"); do O="$O.$i"; echo $O; done; done`' .ALL' # echo "Sections: $SECTIONS" - SECTIONS_REGEX=$(for _sec in $SECTIONS; do echo "s/(section==$_sec:\([^)]*\):)/\1/g;"; done; echo "s/(section==.*:.*:)//g") - MENU=$(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#menu-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); - [ "$MENU" = '' ] && MENU="$DEFAULT_MENU" - { - cat_file -$HEADER - [ -n "$MENU" ] && cat_file "$MENU" - [ -e -menu-mid ] && cat_file -menu-mid - cat_file $_tpl - [ "$CLEANTPLNAME" = 'FAQ' ] && gen_faq - [ "$CLEANTPLNAME" = 'NEWS' ] && gen_news - cat_file -$END - } | \ - sed "$SECTIONS_REGEX" | \ - sed "$TRANSLATE_REGEX" | \ - sed 's#href="[+~]\([^"\#(]*\)(same-language)\(\#*[^"]*\)"#href="\1'"$LANGUAGE_SUFFIX""$PAGE_SUFFIX"'\2"#g; s#href="(same-page)\([^"\#(]*\)\(\#*[^"]*\)"#href="'"$CLEANTPLNAME"'\1'"$PAGE_SUFFIX"'\2"#g; s#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' > "$OF" + SECTIONS_REGEX=$(for _sec in $SECTIONS; do echo "s/(section==$_sec:\([^)]*\):)/\1/g;"; done; echo "s/(section==.*:.*:)//g") + MENU=$(grep --no-filename -- "^$_tpl[^a-zA-Z0-9-]" '#menu-index'* | sed 's/^[^ \t]*[ \t]*[ \t]//'); + [ "$MENU" = '' ] && MENU="$DEFAULT_MENU" + { + cat_file -$HEADER + [ -n "$MENU" ] && cat_file "$MENU" + [ -e -menu-mid ] && cat_file -menu-mid + cat_file $_tpl + [ "$CLEANTPLNAME" = 'FAQ' ] && gen_faq + [ "$CLEANTPLNAME" = 'NEWS' ] && gen_news + cat_file -$END + } | \ + sed "$SECTIONS_REGEX" | \ + sed "$TRANSLATE_REGEX" | \ + sed 's#href="[+~]\([^"\#(]*\)(same-language)\(\#*[^"]*\)"#href="\1'"$LANGUAGE_SUFFIX""$PAGE_SUFFIX"'\2"#g; s#href="(same-page)\([^"\#(]*\)\(\#*[^"]*\)"#href="'"$CLEANTPLNAME"'\1'"$PAGE_SUFFIX"'\2"#g; s#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' > "$OF" } proc_raw() { - _tpl="$1" - CLEANTPLNAME=$(echo "$_tpl" | sed 's/^=//') - OF="$OUT"/"$CLEANTPLNAME" - echo "Compiling $CLEANTPLNAME -> $OF" - cat_file $_tpl > "$OF" + _tpl="$1" + CLEANTPLNAME=$(echo "$_tpl" | sed 's/^=//') + OF="$OUT"/"$CLEANTPLNAME" + echo "Compiling $CLEANTPLNAME -> $OF" + cat_file $_tpl > "$OF" } for i in +$TEMPLATES_PAGE \~$TEMPLATES_DYN do - [ -f "./$i" ] && proc_page "$i" + [ -f "./$i" ] && proc_page "$i" done for i in =$TEMPLATES_RAW do - [ -f "./$i" ] && proc_raw "$i" + [ -f "./$i" ] && proc_raw "$i" done exit 0; -- cgit v1.2.3