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§ion=$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/</</g' -e 's/>/>/g' -e 's/&/\&/g' | less -M |
pankso@67 | 79 |
pankso@67 | 80 exit 0 |