summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xwebgen53
1 files changed, 53 insertions, 0 deletions
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