diff options
| author | Philipp Schafft <lion@lion.leolix.org> | 2017-05-01 16:09:52 +0000 |
|---|---|---|
| committer | Philipp Schafft <lion@lion.leolix.org> | 2017-05-01 16:12:30 +0000 |
| commit | 1621427cd6c461dd232359901c3774df54430ed5 (patch) | |
| tree | 303b378f74a9b897caeab9e3ec1bb0bf00d200ed /webgen | |
| parent | 59fca8386f1d6982a404612a382d075ed43b993b (diff) | |
Update: Totally reworked how templates to build are selected
Diffstat (limited to 'webgen')
| -rwxr-xr-x | webgen | 116 |
1 files changed, 53 insertions, 63 deletions
@@ -46,6 +46,7 @@ PAGE_SUFFIX='.html' DEFAULT_MENU='-menu-none' PREPROCESSOR='none' LANGUAGE='' +TEMPLATES='' # CODE: setup() { @@ -213,10 +214,6 @@ show_help() { echo " or: webgen --help" } -TEMPLATES_PAGE="*" -TEMPLATES_DYN="*" -TEMPLATES_RAW="*" - while [ ! -z "$1" ] do case "$1" in @@ -259,60 +256,8 @@ do 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` - _tpl=`ls -1 -- "$TPLS"/?"$_mask.$_lang" 2> /dev/null` - if [ -n "$_tpl" ] - then - _mask=`echo "$_tpl" | sed 's#^[^/]*//*.##'` - _lang='' - fi - [ "$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" + TEMPLATES="$TEMPLATES $1" ;; esac shift @@ -441,14 +386,59 @@ proc_raw() { cat_file $_tpl > "$OF" } -for i in +$TEMPLATES_PAGE \~$TEMPLATES_DYN -do - [ -f "./$i" ] && proc_page "$i" -done +proc() { + _mode="$1" + shift; -for i in =$TEMPLATES_RAW + _old_lang="$LANGUAGE" + + for x in "$@" + do + if [ -f "$x" ] + then + x=`echo "$x" | sed 's#^\./##'` + case "$x" in + *.*) + LANGUAGE=`echo "$x" | cut -d. -f2` + x=`echo "$x" | cut -d. -f1` + ;; + esac + proc_$_mode "$x" + LANGUAGE="$_old_lang" + fi + done +} + +if [ -z "$TEMPLATES" ] +then + TEMPLATES="+ ~ =" +fi + +for i in $TEMPLATES do - [ -f "./$i" ] && proc_raw "$i" + case "$i" in + '+'|'~') + proc page ./"$i"* + ;; + '=') + proc raw ./"$i"* + ;; + '+'*|'~'*) + proc page ./$i + ;; + '='*) + proc raw ./$i + ;; + *'.html') + _mask=`echo "$i" | sed 's/\.html$//'` + proc page ./[\+\~]"$_mask" + proc page ./[=]"$_mask" + ;; + *) + proc page ./[\+\~]$i + proc raw ./[=]$i + ;; + esac done exit 0; |
