158 lines
2.4 KiB
Plaintext
158 lines
2.4 KiB
Plaintext
#!@BASH@
|
|
# Id: install-info-html,v 1.1.1.1 2003/12/06 01:35:48 karl Exp
|
|
|
|
name=install-info-html
|
|
version=1.0
|
|
|
|
all=
|
|
index_dir=.
|
|
|
|
#
|
|
# debugging
|
|
#
|
|
debug_echo=:
|
|
|
|
|
|
#
|
|
# print usage
|
|
#
|
|
function help ()
|
|
{
|
|
cat << EOF
|
|
$name $version
|
|
Install HTML info document.
|
|
|
|
Usage: $name [OPTION]... [DOCUMENT-DIR]...
|
|
|
|
Options:
|
|
-a,--all assume all subdirectories of index to be DOCUMENT-DIRs
|
|
-d,--dir=DIR set index directory to DIR (default=.)
|
|
-D,--debug print debugging info
|
|
-h,--help this help text
|
|
-v,--version show version
|
|
EOF
|
|
}
|
|
|
|
|
|
function cleanup ()
|
|
{
|
|
$debug_echo "cleaning ($?)..."
|
|
}
|
|
|
|
trap cleanup 0 9 15
|
|
|
|
#
|
|
# Find command line options and switches
|
|
#
|
|
|
|
# "x:" x takes argument
|
|
#
|
|
options="adhvW:"
|
|
#
|
|
# ugh, "\-" is a hack to support long options
|
|
# must be in double quotes for bash-2.0
|
|
|
|
while getopts "\-:$options" O
|
|
do
|
|
$debug_echo "O: \`$O'"
|
|
$debug_echo "arg: \`$OPTARG'"
|
|
case $O in
|
|
a)
|
|
all=yes
|
|
;;
|
|
D)
|
|
[ "$debug_echo" = "echo" ] && set -x
|
|
debug_echo=echo
|
|
;;
|
|
h)
|
|
help;
|
|
exit 0
|
|
;;
|
|
v)
|
|
echo $name $version
|
|
exit 0
|
|
;;
|
|
d)
|
|
index_dir=$OPTARG
|
|
;;
|
|
# a long option!
|
|
-)
|
|
case "$OPTARG" in
|
|
a*|-a*)
|
|
all=yes
|
|
;;
|
|
de*|-de*)
|
|
[ "$debug_echo" = "echo" ] && set -x
|
|
debug_echo=echo
|
|
;;
|
|
h*|-h*)
|
|
help;
|
|
exit 0
|
|
;;
|
|
di*|-di*)
|
|
index_dir="`expr \"$OPTARG\" ':' '[^=]*=\(.*\)'`"
|
|
;;
|
|
version|-version)
|
|
echo $name $version
|
|
exit 0
|
|
;;
|
|
*|-*)
|
|
echo "$0: invalid option -- \"$OPTARG\""
|
|
help;
|
|
exit -1
|
|
;;
|
|
esac
|
|
esac
|
|
done
|
|
shift `expr $OPTIND - 1`
|
|
|
|
#
|
|
# Input file name
|
|
#
|
|
if [ -z "$all" ] && [ -z "$1" ]; then
|
|
help
|
|
echo "$name: No HTML documents given"
|
|
exit 2
|
|
fi
|
|
|
|
if [ -n "$all" ] && [ -n "$1" ]; then
|
|
echo "$name: --all specified, ignoring DIRECTORY-DIRs"
|
|
fi
|
|
|
|
if [ -n "$all" ]; then
|
|
document_dirs=`/bin/ls -d1 $index_dir`
|
|
else
|
|
document_dirs=$*
|
|
fi
|
|
|
|
index_file=$index_dir/index.html
|
|
rm -f $index_file
|
|
echo -n "$name: Writing index: $index_file..."
|
|
|
|
# head
|
|
cat >> $index_file <<EOF
|
|
<html>
|
|
<head><title>Info documentation index</title></head>
|
|
<body>
|
|
<h1>Info documentation index</h1>
|
|
This is the directory file \`index.html' a.k.a. \`DIR', which contains the
|
|
topmost node of the HTML Info hierarchy.
|
|
<p>
|
|
This is all very much Work in Progress (WiP).
|
|
<p>
|
|
<ul>
|
|
EOF
|
|
|
|
#list
|
|
for i in $document_dirs; do
|
|
echo "<li> <a href=\"$i/$i.html\">$i</a></li>"
|
|
done >> $index_file
|
|
|
|
# foot
|
|
cat >> $index_file <<EOF
|
|
</ul>
|
|
</body>
|
|
</html>
|
|
EOF
|
|
echo
|