slitaz-base-files annotate rootfs/usr/bin/man @ rev 67

Move man alias to /usr/bin/man
author Christophe Lincoln <pankso@slitaz.org>
date Sat Jun 13 20:45:03 2009 +0200 (2009-06-13)
parents
children 74de6d1a75d8
rev   line source
pankso@67 1 #!/bin/sh
pankso@67 2 #
pankso@67 3 # Tiny man fake using online manuals.
pankso@67 4 # (c) 2009 SliTaz GNU/Linux.
pankso@67 5 #
pankso@67 6
pankso@67 7 if [ ! -x /usr/bin/retawq ]; then
pankso@67 8 echo -e "\nMissing Retawq webbrouwser..."
pankso@67 9 echo -e "Please run: su -c 'tazpkg get-install retawq'\n"
pankso@67 10 exit 0
pankso@67 11 fi
pankso@67 12
pankso@67 13 local i
pankso@67 14 local SECTION
pankso@67 15 local MSG
pankso@67 16 local TOPIC
pankso@67 17 local MAN_SECTION
pankso@67 18
pankso@67 19 case "$1" in
pankso@67 20 ''|-*)
pankso@67 21 cat <<EOT
pankso@67 22
pankso@67 23 Usage: man [section] command
pankso@67 24
pankso@67 25 EOT
pankso@67 26 return ;;
pankso@67 27 esac
pankso@67 28
pankso@67 29 SECTION=all
pankso@67 30 MAN_SECTION='*'
pankso@67 31 MSG=""
pankso@67 32
pankso@67 33 if [ -n "$2" ]; then
pankso@67 34 SECTION=$1
pankso@67 35 MAN_SECTION=$1
pankso@67 36 MSG=" in section $SECTION"
pankso@67 37 shift
pankso@67 38 fi
pankso@67 39
pankso@67 40 TOPIC=$1
pankso@67 41
pankso@67 42 if [ -x /usr/bin/retawq -a -f /usr/share/doc/$TOPIC/$TOPIC.html ]; then
pankso@67 43 retawq --dump=file:///usr/share/doc/$TOPIC/$TOPIC.html | less -M
pankso@67 44 return
pankso@67 45 fi
pankso@67 46
pankso@67 47 for i in /usr/share/$LC_ALL/man$MAN_SECTION /usr/share/man$MAN_SECTION; do
pankso@67 48 if [ -f $i/raw-$TOPIC.* ]; then
pankso@67 49 i=$(ls $i/raw-$TOPIC.*)
pankso@67 50 case "$i" in
pankso@67 51 *gz) (zcat $i || unlzma -c $i 2> /dev/null) | less -M;;
pankso@67 52 *) less -M $i;;
pankso@67 53 esac
pankso@67 54 return
pankso@67 55 fi
pankso@67 56 if [ -x /usr/bin/retawq -a -f $i/$TOPIC.html ]; then
pankso@67 57 retawq --dump=file://$i/$TOPIC.html | less -M
pankso@67 58 return
pankso@67 59 fi
pankso@67 60 done
pankso@67 61
pankso@67 62 (wget -O - "http://mirror.slitaz.org/man/$SECTION/$TOPIC.html" || \
pankso@67 63 wget -O - "http://man.he.net/?topic=$TOPIC&section=$SECTION") 2> /dev/null | \
pankso@67 64 awk "BEGIN { s=0; n=0 } /<PRE>/ { s=1 } { if (s) { print; n++} } /<\/PRE>/ { s=0 } END { if (n == 0) print \"No manual entry for $TOPIC$MSG\" }" | \
pankso@67 65 sed -e 's/<[^>]*>//g' -e 's/&lt;/</g' -e 's/&gt;/>/g' -e 's/&amp;/\&/g' | less -M
pankso@67 66
pankso@67 67 exit 0