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

man: fixed
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sun Jun 03 14:39:29 2012 +0000 (2012-06-03)
parents d4df77afbed6
children 986f32a2ce6f
rev   line source
pankso@67 1 #!/bin/sh
pankso@67 2 #
pankso@67 3 # Tiny man fake using online manuals.
pankso@103 4 # Copyright (C) 2009-2012 SliTaz GNU/Linux.
pankso@67 5 #
pankso@139 6 . /lib/libtaz.sh
pankso@67 7
al@179 8 # Internationalization.
al@179 9 . /usr/bin/gettext.sh
al@179 10 TEXTDOMAIN='slitaz-base'
al@179 11 . /etc/locale.conf
al@179 12 export TEXTDOMAIN LANG
al@179 13
pankso@67 14 if [ ! -x /usr/bin/retawq ]; then
al@179 15 echo; gettext "Missing Retawq web browser..."; echo
al@179 16 gettext "Please run: su -c 'tazpkg get-install retawq'"; echo -e "\n"
pankso@67 17 exit 0
pankso@67 18 fi
pankso@67 19
pankso@67 20 local i
pankso@67 21 local SECTION
pankso@67 22 local MSG
pankso@67 23 local TOPIC
pankso@67 24 local MAN_SECTION
pankso@67 25
pankso@67 26 case "$1" in
pankso@67 27 ''|-*)
al@194 28 emsg "$(gettext '<b>Usage:</b> man [section] command')"
pankso@67 29 return ;;
pankso@67 30 esac
pankso@67 31
pankso@67 32 SECTION=all
pankso@67 33 MAN_SECTION='*'
pankso@67 34 MSG=""
pankso@67 35
pankso@67 36 if [ -n "$2" ]; then
pankso@67 37 SECTION=$1
pankso@67 38 MAN_SECTION=$1
al@193 39 MSG=" $(eval_gettext 'in section $SECTION')"
pankso@67 40 shift
pankso@67 41 fi
pankso@67 42
pankso@67 43 TOPIC=$1
pankso@67 44
pankso@67 45 if [ -x /usr/bin/retawq -a -f /usr/share/doc/$TOPIC/$TOPIC.html ]; then
pankso@67 46 retawq --dump=file:///usr/share/doc/$TOPIC/$TOPIC.html | less -M
pankso@67 47 return
mojo@101 48 elif [ -x /usr/bin/retawq -a -f /usr/share/doc/slitaz-tools/$TOPIC.html ]; then
mojo@101 49 retawq --dump=file:///usr/share/doc/slitaz-tools/$TOPIC.html | less -M
mojo@101 50 return
pankso@139 51 elif [ -f /usr/share/doc/slitaz/$TOPIC.txt ]; then
pankso@139 52 # SliTaz tools/libraries documentation (man a like format)
pankso@139 53 less -M /usr/share/doc/slitaz/$TOPIC.txt
pankso@139 54 return
pankso@67 55 fi
pankso@67 56
al@193 57 for i in /usr/share/man/$LC_ALL/man$MAN_SECTION /usr/share/man/man$MAN_SECTION; do
al@194 58 if [ -f $i/$TOPIC.* ]; then
al@194 59 i=$(ls $i/$TOPIC.* 2> /dev/null)
al@194 60 if [ "x$i" != "x" ]; then
al@194 61 case "$i" in
al@194 62 *gz) (zcat $i || unlzma -c $i 2> /dev/null) | less -M;;
al@194 63 *) less -M $i;;
al@194 64 esac
al@194 65 fi
pankso@67 66 return
pankso@67 67 fi
pankso@67 68 if [ -x /usr/bin/retawq -a -f $i/$TOPIC.html ]; then
pankso@67 69 retawq --dump=file://$i/$TOPIC.html | less -M
pankso@67 70 return
pankso@67 71 fi
pankso@67 72 done
pankso@67 73
al@194 74 [ "x$SECTION" = "x" ] && SECTION="all"
pankso@67 75 (wget -O - "http://mirror.slitaz.org/man/$SECTION/$TOPIC.html" || \
pankso@67 76 wget -O - "http://man.he.net/?topic=$TOPIC&section=$SECTION") 2> /dev/null | \
al@179 77 awk "BEGIN { s=0; n=0 } /<PRE>/ { s=1 } { if (s) { print; n++} } /<\/PRE>/ { s=0 } END { if (n == 0) print \"$(eval_gettext 'No manual entry for $TOPIC$MSG')\" }" | \
pankso@67 78 sed -e 's/<[^>]*>//g' -e 's/&lt;/</g' -e 's/&gt;/>/g' -e 's/&amp;/\&/g' | less -M
pankso@67 79
pankso@67 80 exit 0