From 3a84a7a9d77c8df8c8730ec5aed0b6c28a5b6e0e Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sun, 19 Jun 2016 08:02:19 +0000 Subject: Feature: Implemented --list-dependencies --- webgen | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'webgen') diff --git a/webgen b/webgen index 2055fe3..d0e8bd7 100755 --- a/webgen +++ b/webgen @@ -77,8 +77,57 @@ list_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` + ;; + 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" @@ -112,6 +161,10 @@ do list_tpls exit 0 ;; + '--list-dependencies') + list_dependencies $2 + exit 0 + ;; '--help') show_help exit 0 -- cgit v1.2.3